
var loadingHtml = "<div id=\"loading\" align=\"center\" style=\"padding-top: 20px; padding-bottom: 20px;\"><img src=\"/images/ajax-loader.gif\"/></div>";
/*****************************对URL进行操作************************************/
Array.prototype.contains = function (val) {
	for (var i = 0; i < this.length; i += 1) {
		if (this[i] == val) {
			return true;
		}
	}
	return false;
};
function Url(urlString) {
	this.url = "";
	if (urlString != null) {
		this.url = urlString;
	} else {
		this.url = document.URL;
	}
	return this.url;
}
/*
 *method	重写其默认的toString方法
 */
Url.prototype.toString = function () {
	return this.url;
};
/*
 *method	添加url的参数值
 *@param 	property 需要得到的参数
 *@return 	返回参数值
 */
Url.prototype.addParam = function () {
	if (arguments.length == 2) {
		if (this.url.indexOf("?") == -1) {
			this.url = this.url + "?" + arguments[0] + "=" + arguments[1];
			return this.url;
		}
		var pos = this.url.indexOf(arguments[0] + "=");
		if (pos == -1) {
			this.url = this.url + "&" + arguments[0] + "=" + arguments[1];
			return this.url;
		}
		var pos1 = this.url.indexOf("&", pos);
		if (pos1 == -1) {
			this.url = this.url.substring(0, pos) + arguments[0] + "=" + arguments[1];
			return this.url;
		}
		this.url = this.url.substring(0, pos) + arguments[0] + "=" + arguments[1] + this.url.substring(pos1);
		return this.url;
	}
	if (arguments.length == 1) {
		for (var property in arguments[0]) {
			this.url = this.addParam(property, arguments[0][property]);
		}
		return this.url;
	}
};
/*
 *method	得到url的参数值
 *@param 	property 需要得到的参数
 *@return 	返回参数值
 */
Url.prototype.getParam = function (property) {
	var pos = this.url.indexOf(property + "=");
	if (pos == -1) {
		return null;
	}
	pos += (property + "=").length;
	var pos2 = this.url.indexOf("&", pos);
	if (pos2 == -1) {
		pos2 = this.url.length;
	}
	return this.url.substring(pos, pos2);
};
/*
 *method	删除url的参数值
 *@param 	property 需要得到的参数
 *@return 	返回删除后的参数值
 */
Url.prototype.removeParam = function (property) {
	var pos = this.url.indexOf("?" + property + "=");
	if (pos != -1) {
		var pos1 = this.url.indexOf("&", pos);
		if (pos1 == -1) {
			this.url = this.url.substring(0, pos);
			return this.url;
		} else {
			this.url = this.url.substring(0, pos) + "?" + this.url.substring(pos1 + 1);
			return this.url;
		}
	}
	pos = this.url.indexOf("&" + property + "=");
	if (pos != -1) {
		var pos1 = this.url.indexOf("&", pos + 1);
		if (pos1 == -1) {
			this.url = this.url.substring(0, pos);
			return this.url;
		} else {
			this.url = this.url.substring(0, pos) + this.url.substring(pos1);
			return this.url;
		}
	}
	return this.url;
};
Url.prototype.replaceParam = function (property, value) {
	this.removeParam(property);
	this.addParam(property, value);
};
/*
 *method	静态方法 返回服务器的地址
 */
Url.server = function () {
	var result = document.location.protocol + "//" + document.location.host;
	if (document.location.port == 80) {
		result += ":" + document.location.port;
	} else {
		result += "/";
	}
	return result;
};
Url.prototype.flushTo = function () {
	document.location.href = this.url;
};
/*****************************读取cookie数据***************************/
function readCookie(name) {
	var cookieValue = "";
	var search = name + "=";
	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = document.cookie.indexOf(";", offset);
			if (end == -1) {
				end = document.cookie.length;
			}
			cookieValue = unescape(document.cookie.substring(offset, end));
		}
	}
	return cookieValue;
}
// writeCookie("myCookie", "my name", 24);
// Stores the string "my name" in the cookie "myCookie" which expires after 24 hours.
// The hours parameter is optional; if hours is left out, the cookie value expires at the end of the visitor's browser session.
function writeCookie(name, value, hours) {
	var expire = "";
	if (hours != null) {
		expire = new Date((new Date()).getTime() + hours * 3600000);
		expire = "; expires=" + expire.toGMTString();
	}
	document.cookie = name + "=" + escape(value) + expire;
}
/*****************************将页面的地址转向 ***************************/
function setLocation(property, value) {
	var currentloc = new Url();
	document.location.href = currentloc.addParam(property, value);
}
/*****************************对原有的按位 操作进行扩充 ***************************/
function toBitArray(numValue) {
	var result = new Array();
	while (numValue > 0) {
		var mod = numValue % 2;
		numValue = (numValue - mod) / 2;
		result.push(mod);
	}
	return result;
}
function havepower(ticket, tocken) {
	if (ticket < tocken) {
		return false;
	} else {
		if (ticket == tocken) {
			return true;
		}
	}
	var i = 0;
	while ((tocken /= 2) >= 1) {
		i += 1;
	}
	return toBitArray(ticket)[i] == 1;
}
function or(value1, value2) {
	var array1 = toBitArray(value1);
	var array2 = toBitArray(value2);
	var len1 = array1.length;
	var len2 = array2.length;
	if (len1 < len2) {
		for (var i = 0; i < len1; i += 1) {
			array2[i] |= array1[i];
		}
		var result = 0;
		for (i = 0; i < len2; i += 1) {
			result += Math.pow(2, i) * array2[i];
		}
		return result;
	} else {
		for (var i = 0; i < len2; i += 1) {
			array1[i] |= array2[i];
		}
		var result = 0;
		for (i = 0; i < len1; i += 1) {
			result += Math.pow(2, i) * array1[i];
		}
		return result;
	}
}
function and(value1, value) {
	var array1 = toBitArray(value1);
	var array2 = toBitArray(value2);
	var len1 = array1.length;
	var len2 = array2.length;
	if (len1 > len2) {
		for (var i = 0; i < len1; i += 1) {
			array2[i] &= array1[i];
		}
		var result = 0;
		for (i = 0; i < len2; i += 1) {
			result &= Math.pow(2, i) * array2[i];
		}
		return result;
	} else {
		for (var i = 0; i < len2; i += 1) {
			array1[i] &= array2[i];
		}
		var result = 0;
		for (i = 0; i < len1; i += 1) {
			result &= Math.pow(2, i) * array1[i];
		}
		return result;
	}
}
//
jQuery.fn.extend({incCount:function () {
	var current = trim(this.text());
	if (current == "") {
		current = 0;
	} else {
		current = Number(current);
	}
	this.text(current += 1);
}, decCount:function () {
	var current = trim(this.text());
	if (current == "") {
		current = 1;
	} else {
		current = Number(current);
	}
	this.text(current -= 1);
}, loading:function (msg) {
	var loadingmsg = "loading...";
	if (typeof msg != "undefined") {
		loadingmsg = msg;
	}
	this.children().hide();
	this.append("<div id=\"loading\" align=\"center\" style=\"padding-top: 20px; padding-bottom: 20px;\"><img src=\"/images/spinner.gif\"/>" + loadingmsg + "</div>");
}, removeloading:function () {
	this.find("#loading").remove();
	this.children().show();
}, getId:function () {
	var idString = this.attr("id");
	return trim(idString.substring(idString.indexOf("_") + 1));
}, trimValue:function () {
	return trim(this.val());
}, validate:function (valid) {
	return valid;
}, validateMail:function () {
	var pattern = /^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$/;
	return this.validate(pattern.test(this.trimValue()));
}, validateNumber:function () {
	var pattern = /^[0-9]/;
	return this.validate(pattern.test(this.trimValue()));
}, validateDecimal:function () {
	var pattern = /^\d+(\.\d+)?$/;
	return this.validate(pattern.test(this.trimValue()));
}, validateMobile:function () {
	var pattern = /13\d{9}/;
	return this.validate(pattern.test(this.trimValue()));
}, validateCharacter:function () {
	var patterns = /^[a-z]*$/i;
	return this.validate(pattern.test(this.trimValue()));
}, validateIpv4:function () {
	var pattern = /^\d+\.\d+\.\d+\.\d+$/;
	return this.validate(pattern.test(this.trimValue()));
}, validateLoginid:function () {
	var pattern = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
	return this.validate(pattern.test(this.trimValue()));
}, validateFolderName:function () {
	var pattern = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){2,6}$/;
	return this.validate(pattern.test(this.trimValue()));
}, validateString:function (minlength, maxlength) {
	var length = this.trimValue().length;
	return this.validate(length > minlength && length < maxlength);
}});
/*****************************除去左空格 ***************************/
function ltrim(_str) {
	if (_str == null) {
		return null;
	}
	return _str.replace(/^\s*/, "");
}
//除去右空格
function rtrim(_str) {
	if (_str == null) {
		return null;
	}
	return _str.replace(/\s*$/, "");
}
//除去所有空格
function trim(_str) {
	if (_str == null) {
		return null;
	}
	return rtrim(ltrim(_str));
}
//检查是否为有效的email
function isMail(_str) {
	var tmp_str = trim(_str);
	var pattern = /^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$/;
	return pattern.test(tmp_str);
}
//检查是否时数字
function isNumber(_str) {
	var tmp_str = trim(_str);
	var pattern = /^[0-9]/;
	return pattern.test(tmp_str);
}
function isDecimal(_str) {
	var tem_str = trim(_str);
	var pattern = /^\d+(\.\d+)?$/;
	return pattern.test(tem_str);
}
//检查是否是电话号码
function isMobile(_str) {
	var tmp_str = trim(_str);
	var pattern = /13\d{9}/;
	return pattern.test(tmp_str);
}
//检查是否为空
function isEmpty(_str) {
	var tmp_str = trim(_str);
	return tmp_str.length === 0;
}
//检查是否为颜色
function isColor(color) {
	var temp = color;
	if (temp === "") {
		return true;
	}
	if (temp.length != 7) {
		return false;
	}
	return (temp.search(/\#[a-fA-F0-9]{6}/) != -1);
}
//检查是否时链接地址
function isURL(url) {
	var sTemp;
	var b = true;
	sTemp = url.substring(0, 7);
	sTemp = sTemp.toUpperCase();
	if ((sTemp != "HTTP://") || (url.length < 10)) {
		b = false;
	}
	return b;
}
//检查是否全是字母
function isCharacter(_str) {
	var patterns = /^[a-z]*$/i;
	return patterns.test(_str);
}
//检查是否是ipv4的有效地址
function isIpv4(_str) {
	var patterns = /^\d+\.\d+\.\d+\.\d+$/;
	return patterns.test(_str);
}
//检查是否是有效的登陆id
function isloginId(_str) {
	var patrn = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
	if (!patrn.exec(_str)) {
		return false;
	}
	return true;
}
//检查是否是 正常的文件夹名称
function isFolderName(_str) {
	var patrn = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){2,6}$/;
	if (!patrn.exec(_str)) {
		return false;
	}
	return true;
}
//获取指定图像的地址
function sizeImage(url, size) {
	if (url == null) {
		return null;
	}
	var index = url.lastIndexOf("_");
	if (index == -1) {
		return url + "_" + size + ".png";
	}
	return url.substring(0, url.lastIndexOf("_") + 1) + size + ".png";
}
function createCheckBox(checked, name) {
	var proeprty = "default";
	if (typeof name != "undefined") {
		proeprty = name;
	}
	return checked ? "<input type='checkbox' name='" + proeprty + "' checked='checked'/>" : "<input type='checkbox'  name='" + proeprty + "'/>";
}
function DayTime(minutes) {
	minutes = Number(minutes).toFixed(0);
	this.timeFormat = "24";
	this.minute = minutes % 60;
	this.hour = (minutes - this.minute) / 60;
	this.day = 0;
	if (this.hour > 24) {
		var temp = this.hour % 24;
		this.day = (this.hour - temp) / 24;
		this.hour = temp;
	}
	return this.toString();
}
DayTime.prototype.toString = function () {
	if (this.day != 0) {
		return this.day + "\u5929" + this.hour + "\u65f6" + this.minute + "\u5206";
	}
	if (this.hour != 0) {
		return this.hour + "\u65f6" + this.minute + "\u5206";
	}
	return this.minute + "\u5206";
};
$(document).ready(function () {
	$(window).focus();
});

