
var loadingHtml = "<div id=\"loading\" align=\"center\" style=\"padding-top: 20px; padding-bottom: 20px;\"><img src=\"/images/loading.gif\"/></div>";
/*****************************对URL增加参数************************************/
var jsonrpc = null;
function getJsonrpc() {
	if (jsonrpc === null) {
		try {
			jsonrpc = new JSONRpcClient("/ajax");
		}
		catch (e) {
			if (e.message) {
				alert(e.message);
			} else {
				alert(e);
			}
		}
	}
	return jsonrpc;
}
function addUrlParam() {
	if (arguments.length == 3) {
		if (arguments[0].indexOf("?") == -1) {
			return arguments[0] + "?" + arguments[1] + "=" + encodeURI(arguments[2]);
		}
		var pos = arguments[0].indexOf(arguments[1] + "=");
		if (pos == -1) {
			return arguments[0] + "&" + arguments[1] + "=" + encodeURI(arguments[2]);
		}
		var pos1 = arguments[0].indexOf("&", pos);
		if (pos1 == -1) {
			return arguments[0].substring(0, pos) + arguments[1] + "=" + encodeURI(arguments[2]);
		}
		return arguments[0].substring(0, pos) + arguments[1] + "=" + encodeURI(arguments[2]) + arguments[0].substring(pos1);
	}
	if (arguments.length == 2) {
		var result = arguments[0];
		for (var property in arguments[1]) {
			result = addUrlParam(result, property, arguments[1][property]);
		}
		return result;
	}
}
/*****************************删除url中的参数***************************/
function removeUrlParam(url, property) {
	var pos = url.indexOf("?" + property + "=");
	if (pos != -1) {
		var pos1 = url.indexOf("&", pos);
		if (pos1 == -1) {
			return url.substring(0, pos);
		} else {
			return url.substring(0, pos) + "?" + url.substring(pos1 + 1);
		}
	}
	pos = url.indexOf("&" + property + "=");
	if (pos != -1) {
		var pos1 = url.indexOf("&", pos + 1);
		if (pos1 == -1) {
			return url.substring(0, pos);
		} else {
			return url.substring(0, pos) + url.substring(pos1);
		}
	}
	return url;
}
/*
 *method	得到url的参数值
 *@param	url 需要解析数据的url
 *@param 	property 需要得到的参数
 *@return 	返回参数值
 */
 function getUrlParam(url,property){
 	var pos = url.indexOf(property + "=");
 	if(pos==-1)
 		return null;
 	pos += (property + "=").length;
 	var pos2 = url.indexOf("&", pos);
 	if(pos2==-1){
 		pos2 = url.length;
 	}
 	return url.substring(pos,pos2);
 }
/*****************************读取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 = document.location.href;
	document.location.href = addUrlParam(currentloc, 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;
	}
}
/*****************************除去左空格 ***************************/
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";
}
/******************************************对字符串的操作***********************************************/
/*
 *@param string 原始的字符
 *@param number 最大长度
 *@param number 尾部长度
 *@param char 	替换的输入字符
 */
function fString() {
	var result = arguments[0];
	var maxLength = 50;
	var tockenLength = 3;
	var DefaultTocken = ".";
	if (arguments.length == 2) {
		maxLength = arguments[1];
	}
	if (arguments.length == 3) {
		maxLength = arguments[1];
		tockenLength = arguments[2];
	}
	if (arguments.length == 4) {
		maxLength = arguments[1];
		tockenLength = arguments[2];
		DefaultTocken = arguments[3];
	}
	if (result.length > maxLength) {
			//这里要对数据进行一系列的处理
		result = result.substring(0, maxLength - tockenLength);
		while (tockenLength-- > 0) {
			result += DefaultTocken;
		}
	}
	return result;
}


