/*
 * redirct url act: URL formName: which form to submit
 */

function imgzoom(o) {
	if (event.ctrlKey) {
		var zoom = parseInt(o.style.zoom, 10) || 100;
		zoom -= event.wheelDelta / 12;
		if (zoom > 0) {
			o.style.zoom = zoom + '%';
		}
		return false;
	} else {
		return true;
	}
}

function GetCookieVal(offset) {
	var endstr = document.cookie.indexOf(";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
function SetCookie(name, value) {
	var expdate = new Date();
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	if (expires != null)
		expdate.setTime(expdate.getTime() + (expires * 1000));
	document.cookie = name + "=" + escape(value)
			+ ((expires == null) ? "" : ("; expires=" + expdate.toGMTString()))
			+ ((path == null) ? "" : ("; path=" + path))
			+ ((domain == null) ? "" : ("; domain=" + domain))
			+ ((secure == true) ? "; secure" : "");
}

function DelCookie(name) {
	var exp = new Date();
	exp.setTime(exp.getTime() - 1);
	var cval = GetCookie(name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function GetCookie(name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return GetCookieVal(j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0)
			break;
	}
	return null;
}

// 获取元素的纵坐标
function getTop(e) {
	var offset = e.offsetTop || 0;
	if (e.offsetParent != null)
		offset += getTop(e.offsetParent);
	return offset;
}
// 获取元素的横坐标
function getLeft(e) {
	var offset = e.offsetLeft || 0;
	if (e.offsetParent != null)
		offset += getLeft(e.offsetParent);
	return offset;
}
function findPos(obj) {
	var curleft = obj.offsetLeft || 0;
	var curtop = obj.offsetTop || 0;
	while (obj = obj.offsetParent) {
		curleft += obj.offsetLeft
		curtop += obj.offsetTop
	}
	return {
		x : curleft,
		y : curtop
	};
}
function isNetAddress(str) {
	var reg = /^[a-zA-z]+:\/\/.*$/g;
	if (reg.test(str))
		return true;
	else
		return false;
}

function gotoUrl(act, target, decoratorName, formName) {
	if (decoratorName != undefined && decoratorName != '') {// select sitemesh
		// decorator
		if (act.indexOf('?') > 0)
			act = act + "&decorator=" + decoratorName;
		else
			act = act + "?decorator=" + decoratorName
	}
	var form = document.forms[1];
	if (form == undefined)
		form = document.forms[0];
	if (formName != undefined && formName != '')
		form = document.forms[formName];
	form.method = "post";
	form.action = act;
	if (target != undefined && target != null) {
		form.target = target;
	}
	form.submit();
}
/*
 * open new window url: new window's URL winName: new window name decoratorName:
 * sitemesh decorator name
 */
function openWin(url, winName, decoratorName) {
	if (url != '') {
		if (decoratorName != undefined && decoratorName != '') {// select
			// sitemesh
			// decorator
			if (url.indexOf('?') > 0)
				url = url + "&decorator=" + decoratorName;
			else
				url = url + "?decorator=" + decoratorName;
		} else {
			if (url.indexOf('?') > 0)
				url = url + "&decorator=openwin";
			else
				url = url + "?decorator=openwin";
		}
	}
	var win = window
			.open(
					url,
					winName,
					"top=0,left=0,height=600,width=800,status=yes,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes,fullscreen=no");
	win.focus();
}

/*
 * refresh win opener formName: which form to submit
 */
function refreshOpener(act, formName) {
	var form = opener.document.forms[1];
	if (form == undefined)
		form = document.forms[0];
	if (formName != undefined && formName != '')
		form = opener.document.forms[formName];
	if (act != undefined && act != '')
		form.action = act;
	else
		form.action = opener.document.location;
	form.method = 'post';
	form.target = '_self';
	form.submit();
}

/*
 * checkAll or unCheckAll checkbox
 */
function checkall(name, controller) {
	var target = document.getElementsByName(name);
	if (target.length != undefined) {
		for (var i = 0; i < target.length; i++) {
			target[i].checked = controller.checked;
		}
	} else {
		target.checked = controller.checked;
	}
}

/*
 * get checked checkbox count
 */
function getCheckNum(name) {
	var count = 0;
	var target = document.getElementsByName(name);
	if (target != undefined) {
		if (target.length != undefined) {
			for (var i = 0; i < target.length; i++) {
				if (target[i].checked)
					count++;
			}
		} else {
			if (target[0].checked)
				count++;
		}
	}
	return count;
}

/*
 * submit delete action act: url msg: alert message formName: which form to
 * submit
 */
function doDelete(act, msg, formName) {
	if (getCheckNum() == 0) {
		if (msg != undefined)
			alert(msg);
		else
			alert('Please select one or more item!');
		return false;
	}
	if (confirm('Do you really want to delete the selected items?')) {
		if (formName != undefined && formName != '')
			gotoUrl(act, null, null, formName);
		else
			gotoUrl(act);
	}
}

/*
 * submit ForMoreItem act: url msg: alert message formName: which form to submit
 */
function doSubmitForMoreItem(act, msg, formName) {
	if (getCheckNum() == 0) {
		if (msg != undefined)
			alert(msg);
		else
			alert('Please select one or more item!');
		return false;
	}
	if (formName != undefined && formName != '')
		gotoUrl(act, null, null, formName);
	else
		gotoUrl(act);
}

/*
 * submit update action act: url msg: alert message formName: which form to
 * submit
 */
function doUpdate(act, msg, formName) {
	if (getCheckNum() != 1) {
		if (msg != undefined)
			alert(msg);
		else
			alert('Please select one item to update!');
		return false;
	}
	openWin("", 'updateWin');
	if (formName != undefined && formName != '') {
		gotoUrl(act, 'updateWin', 'openwin', formName);
	} else {
		gotoUrl(act, 'updateWin', 'openwin');
	}
}

/**
 * validate int
 */
function isInt(str) {
	var reg = /^[0-9]*[1-9][0-9]*$/g;
	if (reg.test(str))
		return true;
	else
		return false;
}

function isInteger(str) {
	var reg = /^-?\d+$/g;
	if (reg.test(str))
		return true;
	else
		return false;
}

/**
 * validate date yyyy-mm-dd
 */
function isDate(time, format) {
	var reg = format;
	var reg = reg.replace(/yyyy/, "[0-9]{4}");
	var reg = reg.replace(/yy/, "[0-9]{2}");
	var reg = reg.replace(/MM/, "((0[1-9])|1[0-2])");
	var reg = reg.replace(/M/, "(([1-9])|1[0-2])");
	var reg = reg.replace(/dd/, "((0[1-9])|([1-2][0-9])|30|31)");
	var reg = reg.replace(/d/, "([1-9]|[1-2][0-9]|30|31))");
	var reg = reg.replace(/HH/, "(([0-1][0-9])|20|21|22|23)");
	var reg = reg.replace(/H/, "([0-9]|1[0-9]|20|21|22|23)");
	var reg = reg.replace(/mm/, "([0-5][0-9])");
	var reg = reg.replace(/m/, "([0-9]|([1-5][0-9]))");
	var reg = reg.replace(/ss/, "([0-5][0-9])");
	var reg = reg.replace(/s/, "([0-9]|([1-5][0-9]))");
	reg = new RegExp("^" + reg + "$");
	if (reg.test(time))
		return true;
	return false;
}

// 今天日期
function getToday() {
	var dt, s = '';
	dt = new Date();
	s += dt.getYear() + '-';
	var m = dt.getMonth() + 1;
	m = m.length2 > 1 ? m : ("0" + m);
	s += m + "-";
	var d = dt.getDate();
	d = d.length2 > 1 ? d : ("0" + d);
	s += d;
	return (s);
}

function trim(str) {
	return str.replace(/(^\s*)|(\s*$)/g, "");
}

// for Date yyyy-MM-dd add:Chilen
function forDate(formId) {
	var reDate = /^(19|20)\d{2}-([1-9]|0[1-9]|1[012])-([1-9]|0[1-9]|[12]\d|3[01])$/;
	var formValue = document.getElementById(formId).value;
	if (!reDate.test(formValue)) {// 格式错误返回false
		return false;
	}
	return true;
}

// for mobile add:Chilen
function isMobilePhone(formId) {
	var reSms = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[89]\d{8}$/;
	var formValue = document.getElementById(formId).value;
	if (!reSms.test(formValue) || formValue.length > 11) {// 格式错误返回false
		document.getElementById(formId).focus();
		return false;
	}
	return true;
}

// for required 校验为空的项目 , 如果为空就返回false add:Chilen
function isRequired(formId) {
	var formValue = document.getElementById(formId).value.replace(
			/(^\s*)|(\s*$)/g, "");
	if (formValue == "") {// 格式错误返回false
		document.getElementById(formId).focus();
		return false;
	}
	return true;
}

function isRequired2(formId) {
	var formValue = document.getElementById(formId).value.replace(
			/(^\s*)|(\s*$)/g, "");
	if (formValue == "") {// 格式错误返回false
		return false;
	}
	return true;
}
// for email 电子邮件的格式校验 add:Chilen
function isEmail(formId) {
	var reEmail = /^\w+(\.\w+)?@([A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
	var formValue = document.getElementById(formId).value;
	if (!reEmail.test(formValue)) {// 格式错误返回false
		document.getElementById(formId).focus();
		return false;
	}
	return true;
}
function isEmail2(formId) {
	var reEmail = /^\w+(\.\w+)?@([A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
	var formValue = document.getElementById(formId).value;
	if (!reEmail.test(formValue)) {// 格式错误返回false
		return false;
	}
	return true;
}
// for String length 获得组件输入字符的长度 汉字英文通用,传入需要校验的组件的id add:Chilen
function getLength(formId) {
	var formValue = document.getElementById(formId).value;
	var leng = formValue.replace(/[^\x00-\xff]/gi, 'hi').length;
	return leng;
}

// for String length 获得组件输入字符的长度 汉字英文通用,传入需要校验的内容 add:Chilen
function getLengthOfValue(formValue) {
	var leng = formValue.replace(/[^\x00-\xff]/gi, 'hi').length;
	return leng;
}

// 檢查輸入的字符串中間是否包含有空格 add:Chilen
function havespaces(formId) {
	var formValue = document.getElementById(formId).value;
	var re = /\s/;
	if (re.test(formValue)) { // 包含有空格
		return true;
	} else {
		return false;
	}
}

// add by jack 2007-09-13
function disableAll() {
	a = document.all.button;
	if (a) {
		for (var i = 0; i < a.length; i++) {
			a[i].disabled = true;
		}
	}
	return true;
}

// 校验 时间格式 hh:MM:ss add:Chilen
function isTime(formName) {
	var reDate = /^([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;
	var formValue = document.getElementById(formName).value;
	if (!reDate.test(formValue)) {
		return false;
	}
	return true;
}

// 校验浮点型数据 add:Chilen
function isFloat(formName) {
	var formValue = document.getElementById(formName).value;
	if (isNaN(formValue)) {
		return false; // 如果格式错误则返回false
	}
	return true;// 格式正确则返回true
}

function contraction() {
	if (parent.content.cols == "193,*") {
		parent.content.cols = "15,*";
		parent.mainFrame.menu.style.display = "none";
		parent.mainFrame.dfs.height = "500";
	} else {
		parent.content.cols = "193,*";
		parent.mainFrame.menu.style.display = "";
		parent.mainFrame.dfs.height = "300";
	}

}
function isphone(obj) {
	var reg = /(^(0\d{2})-(\d{8})$)|(^(0\d{3})-(\d{7})$)|(^(0\d{2})-(\d{8})-(\d+)$)|(^(0\d{3})-(\d{7})-(\d+)$)/;

	if (reg.test(obj)) {
		return true;
	}
	return false;
}

function copyToClipBoard(link) {
	copyit(link);
	alert("复制成功，您可以粘贴到QQ/MSN上发给您的好友");
}

function copyit(textit) {
	if (window.clipboardData) {
		window.clipboardData.setData("Text", textit);
	} else {
		var divinfo = '<div id="flashCopier"></div>';
		var emb = '<embed src="/script/_clipboard.swf" FlashVars="clipboard='
				+ textit
				+ '" width="0" height="0" type="application/x-shockwave-flash"></embed>';
		if ($('#flashCopier').html() == null) {
			$("body").append(divinfo);
		}
		$('#flashCopier').html(emb)
	}
}

// 计算中文字节数
function lenB(obj) {
	return obj.replace(/[^\x00-\xff]/g, "**").length;
}
