String.prototype.trim = function() {
	var regx = /^\s+(.*?)\s+$/;
	return this.replace(regx,"$1");
};
String.prototype.isEmpty = function() {
	if(this&&this.trim().length>0) {
		return false;
	}else{
		return true;
	}
};
var cms = {};
cms.Map = function() {
	this.elements = new Array();
	this.size = function() {
		return this.elements.length;
	}
	this.isEmpty = function() {
		return (this.elements.length < 1);
	}
	this.clear = function() {
		this.elements = new Array();
	}
	this.put = function(_key, _value) {
		if(this.containsKey(_key)) {
			this.remove(_key);
		}
		this.elements.push({key:_key, value:_value});
	}
	this.remove = function(_key) {
		var bln = false;
		try {
			for (var 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;
	}
	this.get = function(_key) {
		try{
			for (var i = 0; i < this.elements.length; i++) {
				if (this.elements[i].key == _key) {
					return this.elements[i].value;
				}
			}
		}catch(e) {
			return null;
		}
	}
	this.element = function(_index) {
		if (_index < 0 || _index >= this.elements.length) {
			return null;
		}
		return this.elements[_index];
	}
	this.containsKey = function(_key) {
		var bln = false;
		try {
			for (var i = 0; i < this.elements.length; i++) {
				if (this.elements[i].key == _key) {
					bln = true;
				}
			}
		}catch(e) {
			bln = false;
		}
		return bln;
	}
	this.containsValue = function(_value) {
		var bln = false;
		try {
			for (var i = 0; i < this.elements.length; i++) {
				if (this.elements[i].value == _value){
					bln = true;
				}
			}
		} catch(e) {
			bln = false;
		}
		return bln;
	}
	this.values = function() {
		var arr = new Array();
		for (var i = 0; i < this.elements.length; i++) {
			arr.push(this.elements[i].value);
		}
		return arr;
	}
	this.keys = function() {
		var arr = new Array();
		for (var i = 0; i < this.elements.length; i++) {
			arr.push(this.elements[i].key);
		}
		return arr;
	}
	this.toUrlParam = function() {
		var params = "";
		for (var i = 0; i < this.elements.length; i++) {
			if(i>0){
				params = params+"&"+this.elements[i].key+"="+this.elements[i].value;
			}else{
				params = params+this.elements[i].key+"="+this.elements[i].value;
			}
		}
		return params;
	}
}
cms.block={
	nav:'nav',
	add:'__01',
	find:'__02',
	list:'__03',
	edit:'__04'
};

cms.defaultSuccessCallback = function(req) {
	var msg = "通讯成功!服务器返回消息:";
	var xmlObject = Spry.XML.documentToObject(req.xhRequest.responseXML);
	if(xmlObject) {
		if(xmlObject.ret) {
			var retcode = xmlObject.ret.retcode["#text"];
			var retmsg = xmlObject.ret.retmsg["#text"];
			msg = msg + "返回码:"+retcode;
			msg = msg + ",返回信息:"+retmsg;
		}
	}
	alert(msg);
};

cms.defaultErrorCallback = function(req) {
	alert("与服务器通讯错误!请联系系统管理员!");
};

cms.ajaxExchange =function(paraSet,successCallback,errorCallback,method) {
	if(paraSet.reqUrl.isEmpty()) {
		alert("url can not be empty!");
		return;
	}
	var localMethod = "POST";
	if(method && !method.isEmpty()) {
		localMethod = method;
	}
	if(errorCallback) {
		paraSet.errorCallback = errorCallback;
	} else {
		paraSet.errorCallback = cms.defaultErrorCallback;
	}
	if(successCallback==null) {
		successCallback = cms.defaultSuccessCallback;
	}
	paraSet.headers = {"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"};
	return Spry.Utils.loadURL(localMethod,paraSet.reqUrl,true, successCallback,paraSet);
	
};

cms.showEle = function(pt) {
	Spry.$$(pt).setStyle("display:block");
}

cms.hiddenEle = function(pt) {
	Spry.$$(pt).setStyle("display:none");
}
cms.setBgcolr = function(pt,color) {
	var style = "background-color:"+color;
	Spry.$$(pt).setStyle(style);
}
cms.setStyle = function(pt,style) {
	Spry.$$(pt).setStyle(style);
}
cms.url = {};
cms.url.random = function(url){
	var tag = "?";
	if(url.search("\\?")!=-1) {
		tag = "&";
	}
	return url+tag+"random="+Math.random();
}

cms.url.putParam = function(url,key,value) {
	var rdUrl;
	if(url.search("\\?")!=-1) {
		rdUrl = url + "&" + key + "=" + value;
	}else{
		rdUrl = url + "?" + key + "=" + value;
	}
	return rdUrl;
}
cms.url.putStringParam = function(url,param) {
	if(param){
		var tag = "?";
		if(url.search("\\?")!=-1) {
			tag = "&";
		}
		url = url+tag+param
	}
	return url;
}
cms.url.load0 = function(id,url,reload) {
	if(reload) {
		url = cms.url.random(url);
	}
	Spry.Utils.updateContent(id, url);
}

cms.url.load = function(id,url,reload) {
	cms.url.load0(id,url,reload);
	cms.showEle("#"+id);
}

cms.page={};
cms.page.hiddenAllBlock = function() {
	cms.hiddenEle("div[id^='__0']");
}

cms.page.setMenuBgcolor = function(blockno) {
	cms.setBgcolr("#nav table tr td","#ffffff");
	cms.setBgcolr("#menue_item"+blockno,"#9bc9ea");
}

cms.page.load0 = function(urlObj,params) {
	if(urlObj) {
		var surl = urlObj.page;
		if(typeof(params)!="undefined" &&params){
			surl = cms.url.putStringParam(surl,params);
		}
		cms.url.load(urlObj.block,surl,urlObj.reload);
	}
}
cms.page.load = function(urlObj,params){
	cms.page.load0(urlObj,params);
	if(urlObj) {
		cms.page.setMenuBgcolor(urlObj.block);
	}
}
cms.page.onlyload = function(urlObj,params) {
	cms.page.hiddenAllBlock();
	cms.page.load(urlObj,params);
}
cms.page.showNav = function(navObj) {
		var nav = document.getElementById(cms.block.nav);
		var strHTML = "<table id=\"menu_table\" class=\"menu_table\" cellspacing=\"0px\" cellpadding=\"0px\"><tr>";
		for(var key in navObj) {
			if(navObj[key].display) {
				strHTML = strHTML+"<td nowrap id=\"menue_item"+navObj[key].block+"\" onclick='"+navObj[key].onclick+"'>"+navObj[key].name+"</td>";
			}
		}
		nav.innerHTML = strHTML+"</tr></table><br />";
		
	}

cms.form = {};
cms.form.checkEmpty = function(val,msg) {
	if(val.isEmpty()) {
		if(!msg.isEmpty()) {
			alert(msg);
		}
		return true;
	}
	return false;
}
cms.form.radioValue = function(arrEle) {
	var _value = "";
	for(var i=0; i<arrEle.length; i++) {
		if(arrEle[i].checked) {
			_value = arrEle[i].value;
		}
	} 
	return _value;
}

cms.form.mSelectValue = function(selele) {
	var options = selele.options;
	var rtValue = "";
	if(options) {
		for(var i=0; i<options.length; i++) {
			if(rtValue.isEmpty()) {
				rtValue = options[i].value;
			}else{
				rtValue = rtValue + ","+options[i].value;
			}
		}
	}
	if(rtValue.isEmpty()) {
		rtValue = ",";
	}
	return rtValue;
}

