var Util = {version:"1.0", show:function (elementId) {
	document.getElementById(elementId).style.display = "block";
}, hidden:function (elementId) {
	document.getElementById(elementId).style.display = "none";
}, openWindow:function (url, width, height) {
	// new Date().getTime().toString()
	var newWindow = window.open(url, "", "scrollbars=yes,resizable=yes,titlebar=yes,toolbar=no,menubar=no,status=no,location=no,top=0,left=0,left=" + ((screen.availWidth) / 2 - (width / 2)) + ",top=" + ((screen.availHeight) / 2 - (height / 2)) + ",width=" + width + ",height=" + height);
	newWindow.focus();
}};

//全选
function checkedAllBox(name) {
	var el = document.getElementsByTagName("input");
	var len = el.length;
	for (var i = 0; i < len; i++) {
		if ((el[i].type == "checkbox") && (el[i].name == name)) {
			el[i].checked = true;
		}
	}
}
	
//全不选
function unCheckedAllBox(name) {
	var el = document.getElementsByTagName("input");
	var len = el.length;
	for (var i = 0; i < len; i++) {
		if ((el[i].type == "checkbox") && (el[i].name == name)) {
			el[i].checked = false;
		}
	}
}
	
//反选
function switchCheckedBox(name) {
	var el = document.getElementsByTagName("input");
	var len = el.length;
	for (var i = 0; i < len; i++) {
		if ((el[i].type == "checkbox") && (el[i].name == name)) {
			el[i].checked = !el[i].checked;
		}
	}
}

//删除字符串前后多余的空格
String.prototype.trim = function (m){
	return this.replace(m ? /^\s*|\s*$/mg : /^\s*|\s*$/g, "");
}

// 整数类型判断
function isDigit(num) {
	var string="1234567890";
	if (string.indexOf(num) != -1) {
		return true;
	}
	return false;
}
function isInteger(val) {
	for (var i=0; i < val.length; i++) {
		if (!isDigit(val.charAt(i))) { return false; }
	}
	return true;
}

// 数据map
function HashMap(){
	this.elements=new Array();
	// Map's size
	this.size=function(){
		return this.elements.length;
	}
	// put key-value to the Array
	/*
	this.put=function(_key,_value){
		// check elements is exist _key
		var bln = false;
		for (i=0;i<this.elements.length;i++){
			if (this.elements[i].key==_key){
				bln=true;
			}
		}
		if(!bln){
			this.elements.push({key:_key,value:_value});
		}
	}*/
	this.put=function(_key,_value){
		// check elements is exist _key
		this.elements.push({key:_key,value:_value});
	}

	// remove the element 
	this.remove=function(_key){
		var bln=false;
		try{
			for (i=0;i<this.elements.length;i++){
				if (this.elements[i].key==_key){
					this.elements.splice(i,1);
					return true;
				}
			}
		}
		catch(e){
			bln=false;
		}
		return bln;
	}
	// check the array is Exist _key
	this.containsKey=function(_key){
		var bln=false;
		try{
			for (i=0;i<this.elements.length;i++){
				if (this.elements[i].key==_key){
					bln=true;
				}
			}
		}
		catch(e){
			bln=false;
		}
		return bln;
	}
	// get Element's object
	this.get=function(_key){
		try{
			for (i=0;i<this.elements.length;i++){
				if (this.elements[i].key==_key){
					return this.elements[i].value;
				}
			}
		}
		catch(e){
			return null;
		}
	}

	this.toArray = function(){
		return this.elements;
	}
}
       
function getCookieVal(offset){
	var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1)
		endstr = document.cookie.length;
     return unescape(document.cookie.substring(offset, endstr));
}

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 setCookie(name, value){
	var expdate = new Date();
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : 60*60*24;
	var path = (argc > 3) ? argv[3] : "/";
	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" : "");
}