/**
 * 项目中公用的js操作
 */

function inputOnblur(obj,noEmpty,isDate){
	if(obj.value.trim()==""){
		if(isDate=='date'){
			document.getElementById("dateC").innerHTML="<img src='../../portal/resume/face/default/images/wrong.gif'/>"+noEmpty;
		}else{
			document.getElementById(obj.id+"C").innerHTML="<img src='../../portal/resume/face/default/images/wrong.gif'/>"+noEmpty;
		}
		if(isDate!='select'){
			obj.className="input_cur";
		}
	}else{
		obj.className="";
		if(isDate=='date'){
			document.getElementById("dateC").innerHTML="";
		}else{
			document.getElementById(obj.id+"C").innerHTML="";
		}
	}
}

/**
 * 页面加载 ie禁止后退键
 */
document.onkeydown = function(e) {
	var e = window.event || e;
	try {
		if (e.keyCode == 8) {
			var obj = e.srcElement || e.target;
			if (obj.tagName == "INPUT" || obj.tagName == "TEXTAREA") {
				if (obj.readOnly == false) {
					return true;
				}
			}
			return false;
		}
	} catch (e) {
	}
};

/**
 * 除去两边空格
 */
String.prototype.trim = function() {
	return this.replace(/(^\s+)|\s+$/g, "");
}

/**
 * Dsr前台js工具类
 */
var DsrUtil = function() {
	// 获取当前时间
	function getTime(type) {
		var now = new Date();
		var year = now.getFullYear().toString();
		var month = (now.getMonth() + 1).toString();
		var day = now.getDate().toString();
		var hour = now.getHours().toString();
		var minute = now.getMinutes().toString();
		var second = now.getSeconds().toString();
		if (month.length == 1) {
			month = "0" + month;
		}
		if (day.length == 1) {
			day = "0" + day;
		}
		if (hour.length == 1) {
			hour = "0" + hour;
		}
		if (minute.length == 1) {
			minute = "0" + minute;
		}
		if (second.length == 1) {
			second = "0" + second;
		}
		if (type == "1") {
			return year + "-" + month + "-" + day + " " + hour + ":" + minute
					+ ":" + second;
		} else if (type == "2") {
			return year + "-" + month + "-" + day + " " + hour + ":" + minute;
		} else if (type == "3") {
			return year + "-" + month + "-" + day;
		} else {
			return year + "-" + month + "-" + day + " " + hour + ":" + minute
					+ ":" + second;
		}
	}

	// 日期格式化,将字符串转为Date类型
	function stringToDate(DateStr) {
		var converted = Date.parse(DateStr);
		var myDate = new Date(converted);
		if (isNaN(myDate)) {
			var arys = DateStr.split('-');
			myDate = new Date(arys[0], --arys[1], arys[2]);
		}
		return myDate;
	}

	// 获取指定日期字符串向前或者向后num天的日期字符串
	function getOffsetDate(strDate, num) {
		var now = stringToDate(strDate);
		now.setDate(now.getDate() + num);

		var year = now.getFullYear().toString();
		var month = (now.getMonth() + 1).toString();
		var day = now.getDate().toString();
		var hour = now.getHours().toString();
		var minute = now.getMinutes().toString();
		var second = now.getSeconds().toString();
		if (month.length == 1) {
			month = "0" + month;
		}
		if (day.length == 1) {
			day = "0" + day;
		}
		if (hour.length == 1) {
			hour = "0" + hour;
		}
		return (year + "-" + month + "-" + day);
	}

	// 下拉框的加载，加载后台返回的value和idx
	function loadSelect(id, dataArr) {
		var selObj = document.getElementById(id);
		var op;
		selObj.length = 1;
		if(dataArr==null){
			return ;
		}
		selObj.data = dataArr;// 注册一个属性，保存整个数据对象
		var len = dataArr.length;
		for (var i = 0; i < len; i++) {
			// 如果idx或者value为空就不显示
			if (!dataArr[i].value || !dataArr[i].idx) {
				continue;
			}
			op = new Option(dataArr[i].value, dataArr[i].idx);
			op.data = dataArr[i];// 注册一个属性，保存当前数据对象
			try {
				selObj.add(op, null); // firefox solution
			} catch (ex) {
				selObj.add(op); // All browsers except firefox
			}
		}
	}

	// 下拉框的加载，加载后台返回的value和value
	function loadSelectOnlyValue(id, dataArr) {
		var selObj = document.getElementById(id);
		var op;
		selObj.length = 1;
		if(dataArr && dataArr.length>0){
			var len = dataArr.length;
			for (var i = 0; i < len; i++) {
				// 如果idx或者value为空就不显示
				if (!dataArr[i].value || !dataArr[i].idx) {
					continue;
				}
				op = new Option(dataArr[i].value, dataArr[i].value);
				try {
					selObj.add(op, null); // firefox solution
				} catch (ex) {
					selObj.add(op); // All browsers except firefox
				}
			}
		}
	}

	// 根据选择列表的value值来显示选项
	function selectOptionByValue(id, value) {
		var selObj = document.getElementById(id);
		var len = selObj.length;
		for (var i = 0; i < len; i++) {
			if (selObj.options[i].value == value) {
				selObj.options[i].selected = true;
				break;
			}
		}
	}

	// 根据选择列表选项的 文本值 来显示选项
	function selectOptionByText(id, textValue) {
		var selObj = document.getElementById(id);
		var len = selObj.length;
		for (var i = 0; i < len; i++) {
			var optionText = ""; // 下拉框文本值
			try {
				optionText = selObj.options[i].innerText;
				if(!optionText){
					optionText=selObj.options[i].text;
				}
			} catch (e) {
				optionText = selObj.options[i].text;
			}
			if (optionText == textValue) {
				selObj.options[i].selected = true;
				break;
			}
		}
	}

	// 图片缩放
	function drawImage(ImgD, FitWidth, FitHeight) {
		var image = new Image();
		image.src = ImgD.src;
		// alert('原始大小：'+ImgD.width+'===='+ImgD.height);
		if (image.width > 0 && image.height > 0) {
			if (image.width / image.height >= FitWidth / FitHeight) {
				if (image.width > FitWidth) {
					ImgD.width = FitWidth;
					ImgD.height = (image.height * FitWidth) / image.width;
				} else {
					ImgD.width = image.width;
					ImgD.height = image.height;
				}
			} else {
				if (image.height > FitHeight) {
					ImgD.height = FitHeight;
					ImgD.width = (image.width * FitHeight) / image.height;
				} else {
					ImgD.width = image.width;
					ImgD.height = image.height;
				}
			}
		}
	}
	function initPageDiv(id,params, fun) {
		var pageDiv = document.getElementById(id);
		pageDiv.style.textAlign = "center";
		pageDiv.innerHTML = "";
		if (params.totalPage != 1 && params.totalPage!=0) {
			if (params.currentPage == 1) {
				pageDiv.innerHTML += "<a href='javascript:void(0)' disabled='true'><< 上一页</a>&nbsp;&nbsp;&nbsp;&nbsp;"
			} else {
				pageDiv.innerHTML += "<a href='javascript:void(0)' onclick='previous();return false;'><< 上一页</a>&nbsp;&nbsp;&nbsp;&nbsp;";
			}
			for (var i = 1; i <= params.totalPage; i++) {
				if (i == params.currentPage) {
					pageDiv.innerHTML += "<font color='#4e4848'>" + i + "</font>&nbsp;";
				} else {
					pageDiv.innerHTML += "<a href='javascript:void(0)' onclick='clickPage(" + i
							+ ")'>" + i + "</a>&nbsp;";
				}
			}
			if (params.currentPage == params.totalPage) {
				pageDiv.innerHTML += "&nbsp;&nbsp;&nbsp;<a href='javascript:void(0)' disabled='true'>下一页 >></a>&nbsp;&nbsp;";
			} else {
				pageDiv.innerHTML += "&nbsp;&nbsp;&nbsp;<a href='javascript:void(0)' onclick='next()'>下一页 >></a>&nbsp;&nbsp;";
			}
		}
		window.previous = function() {
			params.startIndex = params.currentPage - 1;
			fun();
		}
		window.next = function() {
			params.startIndex = params.currentPage + 1;
			fun();
		}
		window.clickPage = function(count) {
			params.startIndex = count;
			fun();
		}
	}

	return {
		// --------------------------------日期相关------------------------------//
		/**
		 * 获取当前时间 年-月-日 时:分:秒 type 返回时间类型 1: 2011-07-05 15:25:00, 2: 2011-07-05
		 * 15:25 3: 2011-07-05
		 */
		getTime : function(type) {
			return getTime(type);
		},

		/**
		 * 获取指定日期字符串向前或者向后num天的日期字符串
		 * 
		 * @param strDate ：
		 *            原日期字符串
		 * @param num ：
		 *            偏移量（以天为单位,向前就是- 向后就是+）
		 * @return 返回计算后的日期字符串
		 */
		getOffsetDate : function(strDate, num) {
			return getOffsetDate(strDate, num);
		},

		// --------------------------------下拉列表操作------------------------------//
		/**
		 * 下拉框的加载，加载后台返回的value和idx
		 */
		loadSelect : function(id, dataArr) {
			loadSelect(id, dataArr)
		},

		/**
		 * 下拉框的加载，加载后台返回的value和value
		 */
		loadSelectOnlyValue : function(id, dataArr) {
			loadSelectOnlyValue(id, dataArr)
		},

		/**
		 * 根据选择列表的value值来显示选项
		 */
		selectOptionByValue : function(id, value) {
			selectOptionByValue(id, value)
		},

		/**
		 * 根据选择列表选项的 文本值 来显示选项
		 */
		selectOptionByText : function(id, textValue) {
			selectOptionByText(id, textValue)
		},

		// --------------------------------其 他------------------------------//
		/**
		 * 图片缩放
		 * 
		 * @param {Object}
		 *            ImgD
		 * @param {Object}
		 *            FitWidth
		 * @param {Object}
		 *            FitHeight
		 */
		drawImage : function(ImgD, FitWidth, FitHeight) {
			drawImage(ImgD, FitWidth, FitHeight);
		},
		
		
		initPageDiv:function(id,params,fun){
			initPageDiv(id,params,fun);
		}
	}
}();
