/**
	1:isPost 验证是否是邮编
	2:isFax 验证是否是传真
	3:isMobilPhone 验证是否是手机
	4:isFixPhone 验证是否是固定电话
	5:checkIdCardNo 验证身份证   该函数返回一个Array 数组中的第一个元素返回验证是否成功，如果验证错误第二个元素返回具体的错误信息
	6:checkDate 以YYYYMMDD方式的入参，eg：19860716
	7:isInteger: 用于判断一个数字型字符串是否为整数
	8:isPositiveInteger: 用于判断一个数字型字符串是否为正整数
	9:isPositiveIntegerWithZero: 用于判断一个数字型字符串是否为非负整数（正整数   和   0）   
	10:isMinusInteger: 用于判断一个数字型字符串是否为负整数   
	11:isMinusIntegerWithZero: 用于判断一个数字型字符串是否为非负整数（负整数   和   0）  
	12:isFloat: 判断指定位数的浮点数
	13:isPositiveFloat: 用于判断一个数字型字符串是否为正浮点数
	14:isPositiveFloatWithZero: 用于判断一个数字型字符串是否为非负浮点数（正浮点数   和   0）     
	15:isMinusFloateger: 用于判断一个数字型字符串是否为负浮点数
	16:isMinusFloatWithZero: 用于判断一个数字型字符串是否为非负浮点数（负浮点数   和   0）     
	17:isDate: 用于判断一个字符串是否是日期格式的字符串
	18:isNotNull判断是否为空
	19:trimSpace去掉空格
	20:isURL判断是否是合法的url
	21:isEmail判断是否是email
	22:isNumber判断输入的字符串中的每一个字符是数字型数字（0到9的阿拉伯数字组成）
	23:checkLength 判断输入的参数的长度是否超出最大的长度
	24:isFormatDate 以YYYY-MM-DD方式的入参，eg：1986-07-16
	25:isPrice      小数点最多两位，总长度10位。
	26:isImage 校验选择的是否是图片格式的文件
	27:bindRdDefaultCssToButton 绑定默认的css类到传入的button上
	28:bindRdDefaultCssToButtonInContainer 绑定默认的css类到传入的容器内所有的button上（不管你传入的是什么样的容器，其实就是document下所有的button）一个还没有找到方案的方法
	.
	.
	.
	.
*/
;(function($){
	// 1:验证是否是邮编
	 $.isPost=function(postStr){
		var regexp=/^\d{6}\d*$/;
		if(!$.isNotNull(postStr)){
			return false ;
		}else{
			var nStr = $.trimSpace(postStr);
			if(regexp.test(nStr)){
				return true;
			}else{
				return false;
			}
		}
	};
	// 2:验证是否是传真
	$.isFax=function(faxStr){
		var regexp=/^[0-9]+$/;
		if(!$.isNotNull(faxStr)){
			return false ;
		}else{
			var nStr = $.trimSpace(faxStr);
			if(regexp.test(nStr)){
				return true;
			}else{
				return false;
			}
		}
	};
	
	// 3:验证是否是手机
	$.isMobilPhone=function(phoneNumber){
	    var flag=false;
		var newmobilphone = $.trimSpace(phoneNumber);
		if(!$.isNotNull(newmobilphone)){
			return  false ;
		}
		var reg0 = /^13\d{9}$/;
        var reg1 = /^18[012356789]{1}\d{8}$/;
        var reg2 = /^15[012356789]{1}\d{8}$/;       
        if (reg0.test(newmobilphone)){
        	flag=true;
        }
        if (reg1.test(newmobilphone)){
        	flag=true;
        }
        if (reg2.test(newmobilphone)){
        	flag=true;
        }
        return flag;
	};
	
	// 4:验证是否是固定电话
	
	$.isFixPhone=function(phoneNumber){
		var flag=false;
		phoneNumber=$.trimSpace(phoneNumber);
		if(!$.isNotNull(phoneNumber)){
			return  false ;
		}
		var reg1 = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
        if (reg1.test(phoneNumber)){
        	flag=true;
        }
        return flag;
	};
	
	// 5:验证身份证   该函数返回一个Array 数组中的第一个元素返回验证是否成功，如果验证错误第二个元素返回具体的错误信息
	$.checkIdCardNo=function(num) {
	    var ret=new Array(true,'身份证有效');
	    var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
	    var error;
	    var varArray = new Array();
	    var intValue;
	    var lngProduct = 0;
	    var intCheckDigit;
	    var intStrLen = num.length;
	    var idNumber = num;    
	    // initialize
	
	    if ((intStrLen != 15) && (intStrLen != 18)) {
	        //error = "输入身份证号码长度不对！";
	        ret=new Array();
	        ret.push(false);
	        ret.push('输入身份证号码长度不对！');
	        //alert(error);
	
	        //frmAddUser.txtIDCard.focus();
	
	        return ret;
	    }    
	    // check and set value
	
	    for(i=0;i<intStrLen;i++) {
	        varArray[i] = idNumber.charAt(i);
	        if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) {
	            //error = "错误的身份证号码！.";
	             ret=new Array();
				 ret.push(false);
	      		 ret.push('错误的身份证号码！');
	        //alert(error);
	            //alert(error);
	
	            //frmAddUser.txtIDCard.focus();
	
	            return ret;
	        } else if (i < 17) {
	            varArray[i] = varArray[i]*factorArr[i];
	        }
	    }
	    if (intStrLen == 18) {
	        //check date
	
	        var date8 = idNumber.substring(6,14);
	        if (this.checkDate(date8) == false) {
	            //error = "身份证中日期信息不正确！.";
	            ret=new Array();
				ret.push(false);
	      		ret.push('身份证中日期信息不正确！');
	            //alert(error);
	
	            return ret;
	        }        
	        // calculate the sum of the products
	
	        for(i=0;i<17;i++) {
	            lngProduct = lngProduct + varArray[i];
	        }        
	        // calculate the check digit
	
	        intCheckDigit = 12 - lngProduct % 11;
	        switch (intCheckDigit) {
	            case 10:
	                intCheckDigit = 'X';
	                break;
	            case 11:
	                intCheckDigit = 0;
	                break;
	            case 12:
	                intCheckDigit = 1;
	                break;
	        }        
	        // check last digit			
	        if (varArray[17].toUpperCase() != intCheckDigit) {
	            //error = "身份证效验位错误!...正确为： " + intCheckDigit + ".";
	            ret=new Array();
				ret.push(false);
	      		//ret.push('身份证效验位错误!...正确为：'+ intCheckDigit);
	      		ret.push('身份证号码不合法!');
	            //alert(error);
	
	            return ret;
	        }
	    } else{        //length is 15
	
	        //check date
	
	        var date6 = idNumber.substring(6,12);
	        if (this.checkDate(date6) == false) {
	            //alert("身份证日期信息有误！.");
	            ret=new Array();
				ret.push(false);
	      		ret.push('身份证中日期信息不正确！');
	            return ret;
	        }
	    }
	    //alert ("Correct.");
	
	    return ret;
	};
    // 6:以YYYYMMDD方式的入参，eg：19860716
	$.checkDate=function(dateStr){
		dateStr=$.trimSpace(dateStr);
		if(!$.isNotNull(dateStr)){
			return  false ;
		}
		var checkYear=dateStr.substring(0,4);
		var checkMonth=dateStr.substring(4,6);
		var checkDay=dateStr.substring(6);		
		var  checkDate = new   Date(checkYear,checkMonth-1,checkDay);  		
        var   y=checkDate.getFullYear();  
        var   m=checkDate.getMonth()+1;  
        var   d=checkDate.getDate();  		
        if   (y!=checkYear   ||   m!=checkMonth   ||   d!=checkDay)  
        {  
              return   false;  
        }   
	    return true;
	};
	
	/**
		7:isInteger: 用于判断一个数字型字符串是否为整数
		strInt: 需要判断的字符串
		Author: guojianjiong
	*/ 
	$.isInteger=function(strInt) {
		if(strInt==null&&strInt==""){
			return false;
		}
		var reg=new RegExp("^-?\\d+$");
		if(reg.test(strInt)){
			return true;
		}else{
			return false;
		}
	} ;
	/**
		8:isPositiveInteger: 用于判断一个数字型字符串是否为正整数
		strInt: 需要判断的字符串
		Author: guojianjiong
	*/ 
	$.isPositiveInteger=function(strInt) {
		if(strInt==null&&strInt==""){
			return false;
		}
		var reg=new RegExp("^[0-9]*[1-9][0-9]*$");
		if(reg.test(strInt)){
			return true;
		}else{
			return false;
		}
	}; 
	/**
		9:isPositiveIntegerWithZero: 用于判断一个数字型字符串是否为非负整数（正整数   和   0）     
		strInt: 需要判断的字符串
		Author: guojianjiong
	*/ 
	$.isPositiveIntegerWithZero=function(strInt) {
		if(strInt==null&&strInt==""){
			return false;
		}
		var reg=new RegExp("^\\d+$");
		if(reg.test(strInt)){
			return true;
		}else{
			return false;
		}
	} ;
	
	/**
		10:isMinusInteger: 用于判断一个数字型字符串是否为负整数 
		strInt: 需要判断的字符串
		Author: guojianjiong
	*/ 
	$.isMinusInteger=function(strInt) {
		if(strInt==null&&strInt==""){
			return false;
		}
		var reg=new RegExp("^-[0-9]*[1-9][0-9]*$");
		if(reg.test(strInt)){
			return true;
		}else{
			return false;
		}
	}; 
	/**
		11:isMinusIntegerWithZero: 用于判断一个数字型字符串是否为非负整数（负整数   和   0）     
		strInt: 需要判断的字符串
		Author: guojianjiong
	*/ 
	$.isMinusIntegerWithZero=function(strInt) {
		if(strInt==null&&strInt==""){
			return false;
		}
		var reg=new RegExp("^((-\\d+)|(0+))$");
		if(reg.test(strInt)){
			return true;
		}else{
			return false;
		}
	} ;
	
		/**
			12:isFloat: 判断指定位数的浮点数
			strNum:要判断的字符串浮点数
			rateNum:小数点后的位数
		*/
		
	$.isFloat=function(strNum,rateNum){
			if(strNum==null&&strNum==""){
				return false;
			}
			if(rateNum==null||rateNum==""||rateNum == undefined){
				rateNum=2;
			}
			var patern = '^[+-]?\\d+(?:\\.\\d{'+rateNum;
			patern=patern+'})?$';
			var reg=new RegExp(patern);
		     if (!reg.test(strNum)) {
		        return false;
		     }else{
		     	return true;
		     }
	};
	/**
		13:isPositiveFloat: 用于判断一个数字型字符串是否为正浮点数，
		strInt: 需要判断的字符串
		Author: guojianjiong
	*/ 
	$.isPositiveFloat=function(strFloat) {
		if(strFloat==null&&strFloat==""){
			return false;
		}
		var reg=new RegExp("^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$");
		if(reg.test(strFloat)){
			return true;
		}else{
			return false;
		}
	} ;
	/**
		14:isPositiveFloatWithZero: 用于判断一个数字型字符串是否为非负浮点数（正浮点数   和   0）     
		strFloat: 需要判断的字符串
		Author: guojianjiong
	*/ 
	$.isPositiveFloatWithZero=function(strFloat) {
		if(strFloat==null&&strFloat==""){
			return false;
		}
		var reg=new RegExp("^\\d+(\\.\\d+)?$");
		if(reg.test(strFloat)){
			return true;
		}else{
			return false;
		}
	} ;
	
	/**
		15:isMinusFloateger: 用于判断一个数字型字符串是否为负浮点数
		strFloat: 需要判断的字符串
		Author: guojianjiong
	*/ 
	$.isMinusIFloat=function(strFloat) {
		if(strFloat==null&&strFloat==""){
			return false;
		}
		var reg=new RegExp("^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$");
		if(reg.test(strFloat)){
			return true;
		}else{
			return false;
		}
	} ;
	/**
		16:isMinusFloatWithZero: 用于判断一个数字型字符串是否为非负浮点数（负浮点数   和   0）     
		strFloat: 需要判断的字符串
		Author: guojianjiong
	*/ 
	$.isMinusFloatWithZero=function(strFloat) {
		if(strFloat==null&&strFloat==""){
			return false;
		}
		var reg=new RegExp("^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$");
		if(reg.test(strFloat)){
			return true;
		}else{
			return false;
		}
	} ;
	/**
		17:isDate: 用于判断一个字符串是否是日期格式的字符串
		
		返回值：
		true或false
		
		参数：
		DateString： 需要判断的字符串
		Dilimeter ： 日期的分隔符，缺省值为´-´
		
		Author: PPDJ
		sample:
		var date = ´1999-1-2´;
		if (IsDate(date))
		{
		alert(´You see, the default separator is "-");
		}
		date = ´1999/1/2";
		if (IsDate(date,´/´))
		{
		alert(´The date´s separator is "/");
		}
	*/

		$.isDate=function(DateString , Dilimeter){
			if (DateString==null) return false;
			if (Dilimeter=='' || Dilimeter==null){
				Dilimeter = '-';
			}
			var tempy='';
			var tempm='';
			var tempd='';
			var tempArray;
			if (DateString.length<8 && DateString.length>10){
				return false;
			}
			tempArray = DateString.split(Dilimeter);
			if (tempArray.length!=3){
				return false;
			}
			if (tempArray[0].length==4){
				tempy = tempArray[0];
				tempd = tempArray[2];
			}else{
				tempy = tempArray[2];
				tempd = tempArray[0];
			}
			if(tempd.length==1&&tempd<10){
				tempd="0"+tempd;
			}
			tempm = tempArray[1];
			if(tempm.length==1&&tempm<10){
				tempm="0"+tempm;
			}
			var tDateString = tempy + '/'+tempm + '/'+tempd;
			var tempDate = new Date(tDateString);
			if (isNaN(tempDate)){
				return false;
			}
			if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd))){
				return true;
			}else{
				return false;
			}
		} ;
		/**
			18:isNotNull判断是否为空
		*/
		 $.isNotNull=function(parameter){
			var newParameter = $.trimSpace(parameter);
			if(newParameter==undefined||newParameter == '' || newParameter.length < 1){
				return false ;
			}
			return true;
		};
		/**
			19:trimSpace去掉空格
		*/
		 $.trimSpace=function(param){
		 	var ret="";
			if(param == null||param==undefined){
				param = " " ;
			}
			ret=$.trim(param);
			return ret;
			//return ret.replace(/(^\s*)|(\s*$)/g,"");
		};
		
		/**
			20:isURL判断是否是合法的url
		*/
		
		 $.isURL=function(parameter){
			var newParameter = $.trimSpace(parameter);
			if(!$.isNotNull(newParameter)){
				return false ;
			}
			var patrn= /^http[s]?:\/\/[\w-]+(\.[\w-]+)+([\w-\.\/?%&=]*)?$/;
			
			return patrn.test(parameter);
		};
		/**
			21:isEmail判断是否是email
		*/
		 $.isEmail=function(mail){
		 		var newParameter = $.trimSpace(mail);
				if(!$.isNotNull(newParameter)){
					return false ;
				}
			   var   reg=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;   
				   return   reg.test(newParameter);
		};
		
		/**
			22:isNumber判断输入的字符串中的每一个字符是数字型数字（0到9的阿拉伯数字组成）
		*/
		
		 $.isNumber=function(str){
			return !isNaN(str);
		};
		/**
			23:判断输入的参数的长度是否超出最大的长度
		*/
		 $.checkLength=function(parameter,maxlength){
			if(typeof(parameter)!="string"){
				throw new Error("请确保输入的参数是否是string类型。");
			}
			if(typeof(maxlength)!="number"){
				throw new Error("请确保输入的参数是否是number类型。");
			}
			if(parameter.length <= maxlength) {
				return true;
			}
			
			return false;
		};
		

	
	/**
			24:isFormatDate 以YYYY-MM-DD方式的入参，eg：1986-07-16
	*/
	
	$.IsFormatDate=function(dateStr)   {   
	  
	  var   re   =   /^(\d{4})(\-)(\d{1,2})\-(\d{1,2})$/;   
	  var   m   =   re.exec(dateStr);   
	  if   (m   ==   null)   return   false;   
	  var   d   =   new   Date(m[1],m[3]-1,m[4]);   
	  return   d.getFullYear()==m[1] && d.getMonth()==(m[3]-1) && d.getDate()==m[4];   
	  };   
	/**
	 *   25:isPrice 是否是价格
	 */
	$.isPrice=function(str){
		   var reg=/^\d{0,8}\.?\d{0,2}$/;   
		   return   reg.test(str);
   };		
   /** 
   	*26:isImage 校验选择的是否是图片格式的文件
   */
    $.isImage=function(image){
		 		var newParameter = $.trimSpace(image);
				if(!$.isNotNull(newParameter)){
					return false ;
				}
			   var   reg = /[\w-\.\/?%&=\+]+(\.jpg|\.jpeg|\.gif|\.bmp|\.png)$/;   
				   return   reg.test(newParameter);
	};
	/** 
	   *27:bindRdDefaultCssToButton 绑定默认的css类到传入的button上
	 */
	$.bindRdDefaultCssToButton = function(targetButton){
		targetButton.className="default_button";
		$(targetButton).bind('onmouseover', function(event){
			var target=event.currentTarget;
			target.className="default_button_mouseover";
		});
		$(targetButton).bind( 'onmouseout', function(event){
			var target=event.currentTarget;
			target.className="default_button_onmouseout";
		});
		$(targetButton).bind('onmousedown', function(event){
			var target=event.currentTarget;
			target.className="default_button_mousedown";
		});
		$(targetButton).bind( 'onmouseup', function(event){
			var target=event.currentTarget;
			target.className="default_button_mouseup";
		});
	};
	/** 
	   *28:bindRdDefaultCssToButtonInContainer 绑定默认的css类到传入的容器内所有的button上（不管你传入的是什么样的容器，其实就是document下所有的button）一个还没有找到方案的方法
	 */
	$.bindRdDefaultCssToButtonInContainer = function(container){
		if(container!=null){
			$("input[type=button],input[type=reset]").each(function(){
				$.bindRdDefaultCssToButton(this);
			});
		}
	};
	// 样式绑定 end
	
	$.isChinese = function(str){
		var newParameter = $.trimSpace(str);
		if(!$.isNotNull(newParameter)){
			return false ;
		}
	   var   reg = /[\u4e00-\u9fa5]+/;   
		return   reg.test(newParameter);
	};
	
	$.extend($.fx.step,{
	    backgroundPosition: function(fx) {
            if (fx.state === 0 && typeof fx.end == 'string') {
                var start = $.curCSS(fx.elem,'backgroundPosition');
                start = toArray(start);
                fx.start = [start[0],start[2]];
                var end = toArray(fx.end);
                fx.end = [end[0],end[2]];
                fx.unit = [end[1],end[3]];
			}
            var nowPosX = [];
            nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
            nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
            fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];

           function toArray(strg){
               strg = strg.replace(/left|top/g,'0px');
               strg = strg.replace(/right|bottom/g,'100%');
               strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
               var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
               return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
           }
        }
	});
	 
	// 提交表单 begin
	$.submitAction = function(url,flag,formName,totalPage){
				var theForm = $("#"+formName) ;
				if(flag==0){
				}else if(flag==1){
					var inputPageNumber=$('#goPage');
					if(inputPageNumber!=null){
						var num=inputPageNumber.val();
						if(isNaN(num)==true){
							alert($.processMessages.getMessageOnly("Number00001"));
							return ;
						}else{
							if(num>totalPage){
								alert($.processMessages.getMessageOnly("Number00002"));
								return ;
							}else if(num<=0){
								alert($.processMessages.getMessageOnly("Number00003"));
								return ;
							}
						}
						if(url.indexOf('.do?')==-1){
							url+="?actionFlag=0";
						}
						url+="&toPage="+num;
					}
				}
				theForm.attr("action" , url);
				theForm.attr("target" , '');
				theForm.submit();
	};
	// 提交表单 end
	
	$.processMessages = {
		addLineMessage:function(code,p1){
			$._messageCollectionForBrower[code + p1] = $.processMessages.getMessageOnly(code).replace(/\{0\}/g,p1);
	    	$._addedErrorCodesForBrower[$._addedErrorCodesForBrower.length] = code + p1;
		},
		addErrorMessage:function(mess){
			$._addedErrorCodesForBrower[$._addedErrorCodesForBrower.length] = mess;
		},
		addDateMessage:function(code){
			$._addedDateErrorMessageForBrower[$._addedDateErrorMessageForBrower.length]=code;
		},
		displayErrorMessages:function(){
			if ($._addedErrorCodesForBrower.length == 0&&$._addedDateErrorMessageForBrower.length==0) return null;
			   var erroeMessage = $.processMessages.displayErrorMessage($._addedErrorCodesForBrower);
			    $._addedErrorCodesForBrower = new Array();
			    $._addedDateErrorMessageForBrower=new Array();
			    return erroeMessage;
		},
		displayErrorMessage:function(errorCodes){
			var erroeMessage = "";
		    if (typeof(errorCodes) == "string") {
		        erroeMessage = $.processMessages.getMessageOnly(errorCodes);
		    } else {
		        for (var i = 0; i < errorCodes.length; i++) {
		            if (erroeMessage.length > 0) erroeMessage += "\n";
		            erroeMessage += $.processMessages.getMessageOnly(errorCodes[i]);
		        }
		        for(var i=0;i<$._addedDateErrorMessageForBrower.length;i++){
		        	if (erroeMessage.length > 0) erroeMessage += "\n";
		        	erroeMessage+=$._addedDateErrorMessageForBrower[i];
		        }
		        
		    }
		    return (erroeMessage);
		},
		getMessage:function(code){
			return code + " error " + $.processMessages.getMessageOnly(code);
		},
		getMessageOnly:function(mess){
			if(mess!=null&&mess!=undefined){
				var code=null;
				if(mess.code!=undefined&&mess.code!=null){
					code=mess.code;
				}else{
					code=mess;
				}
			   if($._messageCollectionForBrower[code] == null) {
		              return "field " + code + " must not be null!";
		       } else {
		       	   var retMess=$._messageCollectionForBrower[code];
		       	   var paramValue=mess.paramValue;
		       	   if(paramValue!=undefined&&paramValue!=null){
		       	   		var t=typeof(paramValue);
		       	   		if (typeof(paramValue) == "object") {
		       	   			for(var i=0;i<paramValue.length;i++){
		       	   				retMess=retMess.replace("{"+i+"}",paramValue[i]);
		       	   			}
		       	   		}
		       	   }
		           return retMess;
		       }
			}
		   
		},
		displayConfirmMessage:function(){
			return confirm($.processMessages.getMessageOnly(code));
		}
	};
	
	$.dateUtil={
		initYear:function(year, defaultYear, month, defaultMonth, day, defaultDay,hour,defaultHour,minute,defaultMinute,second,defaultSecond,beforeYear,afterYear){
			if(defaultMonth<10){
					defaultMonth="0"+defaultMonth;
				}
				if(defaultDay<10){
					defaultDay="0"+defaultDay;
				}
				if(defaultHour<10){
					defaultHour="0"+defaultHour;
				}
				if(defaultMinute<10){
					defaultMinute="0"+defaultMinute;
				}
				if(defaultSecond<10){
					defaultSecond = "0"+defaultSecond;
				}
			    var now = new Date();
			    var nowYear = now.getFullYear();
			    var beginYear=nowYear;
			    if(beforeYear==null||beforeYear==undefined||!$.isNotNull(beforeYear+"")){
			    	beginYear = nowYear-10;
			    }else{
			    	beginYear = nowYear-(beforeYear);
			    }
			    var endYear=nowYear;
			    if(afterYear==null||afterYear==undefined||!$.isNotNull(afterYear+"")){
			    	endYear = nowYear+10;
			    }else{
			    	endYear = nowYear+(afterYear);
			    }
			   if($.isNotNull(year)){
			   			
				   for (var i = beginYear; i < endYear; i++) 
					{
					    var option = new Option (i, i);
						
						if($.browser.msie){
							var yearJsObj=document.getElementById(year);
							yearJsObj.options[yearJsObj.options.length] = option;
						}else{
							$("#"+year).append( option);
						}
						if(i == defaultYear){
						    $(option).attr("selected" , "selected");
						}
					}
			   }
			   if($.isNotNull(month)){
			   	$.dateUtil.addMonth(year, month,defaultMonth, day, defaultDay,hour,defaultHour,minute,defaultMinute,second,defaultSecond);
			   }
		},
		addMonth:function(year, month,defaultMonth, day, defaultDay,hour,defaultHour,minute,defaultMinute,second,defaultSecond){
			if($.isNotNull(month)){
						if($("#"+month+" option").length>0){
							$("#"+month+" option[value!=0]").remove();
						}
						if($("#"+day+" option").length>0){
							$("#"+day+" option[value!=0]").remove();
						}
						for (var i = 1; i <= 12; i++) 
						{
						    var text = i;
						    if(i < 10)
						    {
						        text = "0" + text;
						    }
						    var option = new Option (text, text);
						    if($.browser.msie){
								var monthJsObj=document.getElementById(month);
								monthJsObj.options[monthJsObj.options.length] = option;
							}else{
								$("#"+month).append( option);
							}
						    if(text == defaultMonth)
						    {
						         $(option).attr("selected" , "selected");
						    }    		
						}
						$.dateUtil.addDay(year, month, day, defaultDay,hour,defaultHour,minute,defaultMinute,second,defaultSecond);
					}
		},
		 addDay:function(yearObj, monthObj, dayObj, defaultDay,hour,defaultHour,minute,defaultMinute,second,defaultSecond) {
		 		if($.isNotNull(dayObj)){
			 		var monthHead = new Array(12);                        
						monthHead[0] = 31; 
						monthHead[1] = 28; 
						monthHead[2] = 31; 
						monthHead[3] = 30; 
						monthHead[4]  = 31; 
						monthHead[5]  = 30; 
						monthHead[6] = 31; 
						monthHead[7] = 31; 
						monthHead[8] = 30; 
						monthHead[9] = 31; 
						monthHead[10] = 30; 
						monthHead[11] = 31; 
					var yearVal = $("#"+yearObj+" option:selected").val();
					var monthVal = $("#"+monthObj+" option:selected").val();
					
					var dayVal = defaultDay;
					if($("#"+dayObj+" option").length > 0)
					{
					    dayVal = $("#"+dayObj+" option:selected").val();
					}
					
					var Feb = 2;
					var maxDay = monthHead[monthVal - 1];
					
					if(parseInt(monthVal) == Feb)
					{ 
					 	
					 	var isleapyear = $.dateUtil.isPinYear(yearVal);
					 	if (isleapyear > 0)
					 	{	
					 	    maxDay = 29;
					 	}
					 	else
					 	{
					 	    maxDay = 28;
					 	}
					}
					if($("#"+dayObj+" option").length>0){
						$("#"+dayObj+" option[value!=0]").remove();
					}	
					
					
					for( var i = 1; i < maxDay + 1; i++) 
					{
					    var text = i;
					    if(i < 10)
					    {
					        text = "0" + text;
					    }
						var option=new Option (text, text);
					 	if($.browser.msie){
							var dayJsObj=document.getElementById(dayObj);
							dayJsObj.options[dayJsObj.options.length] = option;
						}else{
							$("#"+dayObj).append( option);
						}
					}
					
					$("#"+dayObj).val( dayVal);
					$.dateUtil.addTime(hour,defaultHour,minute,defaultMinute,second,defaultSecond);
		 		}
		 		
			},
			 isPinYear:function(year){
				if(0 == year % 4 && ((year % 100 != 0) || (year % 400 == 0)))
				{
				    return 1;
				}else
				{
				    return 0; 
				}
			},
			 addTime:function(hour,defaultHour,minute,defaultMinute,second,defaultSecond){
				if($.isNotNull(hour)){
					var hourVal = defaultHour;
					//hour.options.length > 0
					
					if($("#"+hour+" option").length > 0)
					{
					    //hourVal = hour.options[hour.options.selectedIndex].value;
					    hourVal = $("#"+hour+" option:selected").val();
					}
					if($("#"+hour+" option").length>0){
							$("#"+hour+" option[value!=0]").remove();
						}
					for(var i=1;i<=24;i++){
						 var text = i;
					    if(i < 10)
					    {
					        text = "0" + text;
					    }
						//hour.options[hour.options.length] = new Option (text, text);
						//$("#"+hour).append( new Option (text, text));
						var option=new Option (text, text);
						if($.browser.msie){
							var hourJsObj=document.getElementById(hour);
							hourJsObj.options[hourJsObj.options.length] = option;
						}else{
							$("#"+hour).append( option);
						}
					}
					$("#"+hour).val(hourVal);
				}
			
				if($.isNotNull(minute)){
					var minuteVal = defaultMinute;
					if($("#"+minute+" option").length > 0)
					{
					    minuteVal = $("#"+minute+" option:selected").val();
					}
					if($("#"+minute+" option").length>0){
							$("#"+minute+" option[value!=0]").remove();
						}
					for(var i=1;i<=59;i++){
						 var text = i;
					    if(i < 10)
					    {
					        text = "0" + text;
					    }
						var option=new Option (text, text);
						if($.browser.msie){
							var minuteJsObj=document.getElementById(minute);
							minuteJsObj.options[minuteJsObj.options.length] = option;
						}else{
							$("#"+minute).append( option);
						}
					}
					$("#"+minute).val(minuteVal);
				}
				if($.isNotNull(second)){
					var secondVal = defaultSecond;
					if($("#"+second+" option").length > 0)
					{
					    secondVal = $("#"+second+" option:selected").val();
					}
					if($("#"+second+" option").length>0){
							$("#"+second+" option[value!=0]").remove();
						}
					for(var i=1;i<=59;i++){
						 var text = i;
					    if(i < 10)
					    {
					        text = "0" + text;
					    }
						var option=new Option (text, text);
						if($.browser.msie){
							var secondJsObj=document.getElementById(second);
							secondJsObj.options[secondJsObj.options.length] = option;
						}else{
							$("#"+second).append( option);
						}
					}
					$("#"+second).val(secondVal);
				}
		}
	};
	$.moveOption={
		addToRight:function(leftIdStr,rightIdStr){
			var options1=$("#"+leftIdStr+' option:selected');
			var options2=$("#"+rightIdStr+' option');
			if(options1.length==0){
				alert("请选择需要移动的项！");
			}else{
				for(var i=0;i<options1.length;i++){
					var n=options1[i];
					if(n.value!='-'){
						for(var j=0;j<options2.length;j++){
							var m=options2[j];
							if(n.value==m.value){
								alert("当前的项目已被移动到选择列表中！");
								return;
							}
						}
						$("#"+rightIdStr).append(n);
					}
				}
			}
		},
		 backToLeft:function(leftListObj,rightListObj) {
				var options1=$("#"+leftListObj+' option');
				var options2=$("#"+rightListObj+' option:selected');
				if(options2.length==0){
					alert("请选择需要移动的项！");
				}else{	
					for(var i=0;i<options2.length;i++){
						var n = options2[i];
						if(n.value!='-'){
							for(var j=0;j<options1.length;j++){
								var m = options1[j];
								if(n.value==m.value){
									$(n).remove();
									return;
								}
							}
							$("#"+leftListObj).append(n);
						}
					}
				}
			},
			 toUp:function(moveListObj){
				if(moveListObj!=null){
					var sortList=moveListObj;
					var sIndex=sortList.selectedIndex;
					if(sIndex==-1){
						alert("请选择要移动的项（可以同时移动多个）");
						return ;
					}
					var selectedOption=new Array();
					var beforeOption=new Array();
					var afterOption=new Array();
					for (var i = 1; i < sortList.options.length ; i++) {
			    		if (sortList.options[i].selected){
			    			var option = document.createElement("option");
			    			option.text=sortList.options[i].text;
			    			option.value=sortList.options[i].value;
			    			option.selected=true;
			    			selectedOption.push(option);
						}else if(sIndex-1>i){
							var option = document.createElement("option");
			    			option.text=sortList.options[i].text;
			    			option.value=sortList.options[i].value;
			    			beforeOption.push(option);
						}else if(sIndex-1<=i){
							var option = document.createElement("option");
			    			option.text=sortList.options[i].text;
			    			option.value=sortList.options[i].value;
			    			afterOption.push(option);
						}
					}
					sortList.options.length=1;
					
					//alert(beforeOption.length+":"+selectedOption.length+":"+afterOption.length);
					//var optionTip = document.createElement("option");
			    	//optionTip.text="--------------报纸名称|日期|版号|版面名称--------------";
			    	//optionTip.value="-";
			    	//sortList.add(optionTip);
					for(var i=0;i<beforeOption.length;i++){
						sortList.add(beforeOption[i]);
					}
					
					for(var i=0;i<selectedOption.length;i++){
						sortList.add(selectedOption[i]);
					}
					
					for(var i=0;i<afterOption.length;i++){
						sortList.add(afterOption[i]);
					}
				}
			},
			 toDown:function(moveListObj){
				if(moveListObj!=null){
					var sortList=moveListObj;
					var sIndex=sortList.selectedIndex
					if(sIndex==-1){
						alert("请选择要移动的项（可以同时移动多个）");
						return ;
					}
					for (var i = 1; i < sortList.options.length ; i++) {
			    		if (sortList.options[i].selected){
			    			sIndex=i;
			    		}
					}			    	
					var selectedOption=new Array();
					var beforeOption=new Array();
					var afterOption=new Array();
					for (var i = 1; i < sortList.options.length ; i++) {
			    		if (sortList.options[i].selected){
			    			var option = document.createElement("option");
			    			option.text=sortList.options[i].text;
			    			option.value=sortList.options[i].value;
			    			option.selected=true;
			    			selectedOption.push(option);
						}else if(sIndex+1>=i){
							var option = document.createElement("option");
			    			option.text=sortList.options[i].text;
			    			option.value=sortList.options[i].value;
			    			beforeOption.push(option);
						}else if(sIndex+1<i){
							var option = document.createElement("option");
			    			option.text=sortList.options[i].text;
			    			option.value=sortList.options[i].value;
			    			afterOption.push(option);
						}
					}
					sortList.options.length=1;
					
					//alert(beforeOption.length+":"+selectedOption.length+":"+afterOption.length);
					//var optionTip = document.createElement("option");
			    	//optionTip.text="--------------报纸名称|日期|版号|版面名称--------------";
			    	//optionTip.value="-";
			    	//sortList.add(optionTip);
					for(var i=0;i<beforeOption.length;i++){
						sortList.add(beforeOption[i]);
					}
					
					for(var i=0;i<selectedOption.length;i++){
						sortList.add(selectedOption[i]);
					}
					
					for(var i=0;i<afterOption.length;i++){
						sortList.add(afterOption[i]);
					}
				}
			}
	};
	
})(jQuery);
