	function move(fromList, toList) {
		var fromOptions = fromList.options;
    	var toOptions = toList.options;
    	var lastIndex = fromOptions.length-1; 
    	for(i=lastIndex; i>=0; i--){
    		if(fromOptions[i].selected){
    			var optionToBeMoved = new Option(fromOptions[i].text, fromOptions[i].value, false, true);
   		 		toOptions[toOptions.length] = optionToBeMoved;
   		 		fromOptions[i] = null;
   		 	}
  		  }
  	}
  
	function copy(fromList, toList) {
		var fromOptions = fromList.options;
    	var toOptions = toList.options;
    	var lastIndex = fromOptions.length-1; 
    	for(i=lastIndex; i>=0; i--){
    		if(fromOptions[i].selected){
    			var optionToBeMoved = new Option(fromOptions[i].text, fromOptions[i].value, false, true);
   		 		toOptions[toOptions.length] = optionToBeMoved;
   		 	}
  		}
  	}
  
    function selectAll(listbox){
		var allOptions = listbox.options;
		var len = allOptions.length;
		for(i=0; i<len; i++){
			allOptions[i].selected = true;		
		}
	}
	
	function deselectAll(listbox) {
		var allOptions=listbox.options;
		var len=allOptions.length;
		for(i=0;i<len;i++) {
			allOptions[i].selected=false;
		}
	}
	
	function removeAll(listbox) {
		var allOptions=listbox.options;
		if(allOptions.length-1>=0){
  			for(var i=allOptions.length-1;i>=0;i--){
   				allOptions.remove(i);
  			}
		}
	}
	
	function checkEmail(email) {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)){
			return (true);
		}
		//alert("Invalid E-mail Address! Please re-enter.");
		return (false);
	}


	function encodeTitle(str) {
		if(str) {
			while(str.indexOf("&") > -1) {
				str = str.replace("&", "%26");
			}
		}
		return str;
	}
	
	function trim(s) {
	
		return s.replace(/(^\s*)|(\s*$)/g, ""); 
	/*
  		while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')){
    		s = s.substring(1,s.length);
  		}

  		while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')){
    		s = s.substring(0,s.length-1);
  		}
  		return s;
  		
  	*/
	}
	function checkTel(s){
	var Letters = "1234567890-"; 
	for (i=0; i <s.length; i++){
	   var CheckChar = s.charAt(i); 
	   if (Letters.indexOf(CheckChar) == -1){
	    alert ("电话号码只能为数字或中横线(-)！"); 
	    return false; 
	   } 
	  } 
	  return true;
	}
	
  function checkNum(s){
	var Letters = "1234567890"; 
	for (i=0; i <s.length; i++){
	   var CheckChar = s.charAt(i); 
	   if (Letters.indexOf(CheckChar) == -1){
	    return false; 
	   } 
	  } 
	  return true;
	}
	
	
	var DateFormat=function(date){
 		//implementation
 		var format=function(str){
			str=str.replace(/yyyy/g,this.date.getFullYear());
			str=str.replace(/yy/g,this.date.getFullYear().toString().slice(2));
			str=str.replace(/mm/g,formatLength(this.date.getMonth()+1,2));
			str=str.replace(/dd/g,formatLength(this.date.getDate(),2));
			str=str.replace(/wk/g,this.date.getDay());
			str=str.replace(/hh/g,formatLength(this.date.getHours(),2));
			str=str.replace(/mi/g,formatLength(this.date.getMinutes(),2));
			str=str.replace(/ss/g,formatLength(this.date.getSeconds(),2));
			str=str.replace(/ms/g,this.date.getMilliseconds());
			return str;
		}
 		var valueOf=function(){}
 		var toString=function(){
  			return date.toLocaleString();
  		}
 		//constructor
 		this.date=new Date(date);
 		if(!date||date=="NaN")
  			this.date=new Date();
 		//inteface
 		this.format=format;
 		this.valueOf=valueOf;
 		this.toString=toString;
 	}
	
function formatLength(o,l)
{
	o = "" + o;
	var len = ("" + o).length;
	for(var i = len; i < l; i++)
		o = "0" + o;
	if(len > l);
		o = o.substring(0,l);
	return o;
}