﻿Array.prototype.unique=function(){var a={};for(var i=0;i<this.length;i++){if(typeof a[this[i]]=="undefined");a[this[i]]=1;}this.length=0;for(var i in a){this[this.length]=i;}return this;};Array.prototype.remove=function(s){for (i=0; i < this.length; i++){if (s == this[i]) this.splice(i, 1);}};function getStrdateYear(datestr){var Main_array=datestr.split(" ");var Date_array=Main_array[0].split("-");var y=parseInt(Date_array[0]);return y;}function getStrdateMonth(datestr){var Main_array=datestr.split(" ");var Date_array=Main_array[0].split("-");var sm;if(Date_array[1].substr(0,1)=="0"){sm=Date_array[1].substr(1,1);}else{sm=Date_array[1];}var m=parseInt(sm);return m;}function getStrdateDate(datestr){var Main_array=datestr.split(" ");var Date_array=Main_array[0].split("-");var sd;if(Date_array[2].substr(0,1)=="0"){sd=Date_array[2].substr(1,1);}else{sd=Date_array[2];}var d=parseInt(sd);return d;}function daysBetween(datestr1,datestr2){if($.trim(datestr1)==""||$.trim(datestr2)=="")return-1;var y1,m1,d1,y2,m2,d2;y1=getStrdateYear(datestr1);m1=getStrdateMonth(datestr1);d1=getStrdateDate(datestr1);y2=getStrdateYear(datestr2);m2=getStrdateMonth(datestr2);d2=getStrdateDate(datestr2);var date1=new Date(y1,m1-1,d1);var date2=new Date(y2,m2-1,d2);var days_diff=(date2.valueOf()-date1.valueOf())/86400000;return days_diff;}function addStrDate(datestr,days){var y,m,d;var sm,sd;y=getStrdateYear(datestr);m=getStrdateMonth(datestr);d=getStrdateDate(datestr);var date1=new Date(y,m-1,d);var ms=date1.getTime()+(days*86400000);var date2=new Date();date2.setTime(ms);if((date2.getMonth()+1)<10){sm="0"+(date2.getMonth()+1);}else{sm=date2.getMonth()+1;}if(date2.getDate()<10){sd="0"+date2.getDate();}else{sd=date2.getDate();}s=date2.getFullYear()+"-"+sm+"-"+sd;s=s.substr(0,10);return s;}Date.prototype.format=function(format){var o={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),"S":this.getMilliseconds()};if(/(y+)/.test(format)){format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length));}for(var k in o){if(new RegExp("("+k+")").test(format)){format=format.replace(RegExp.$1,RegExp.$1.length==1?o[k]:("00"+o[k]).substr((""+o[k]).length));}}return format;};String.prototype.trim=function(){return this.replace(/(^\s+)|(\s+$)/g,"");};String.prototype.isEmpty=function(){return!(/.?[^\s　]+/.test(this));};String.prototype.isBetween=function(val,min,max){return isNaN(val)==false&&val>=min&&val<=max;};String.prototype.getBetweenVal=function(what){var val=this.split(',');var min=val[0];var max=val[1]==null?val[0]:val[1];if(parseInt(min)>parseInt(max)){min=max;max=val[0];}return what=='min'?(isNaN(min)?null:min):(isNaN(max)?null:max);};function isDate(str){var reg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;var r=str.match(reg);if(r==null)return false;var d=new Date(r[1],r[3]-1,r[4]);return(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);}function isDateTime(str){var reg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;var r=str.match(reg);if(r==null)return false;var d=new Date(r[1],r[3]-1,r[4],r[5],r[6],r[7]);return(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);}var validator=function(obj){this.reg=new Object();this.reg.english=/^[a-zA-Z0-9_\-]+$/;this.reg.chinese=/^[\u0391-\uFFE5]+$/;this.reg.number=/^[-\+]?\d+(\.\d+)?$/;this.reg.integer=/^[-\+]?\d+$/;this.reg.float=/^[-\+]?\d+(\.\d+)?$/;this.reg.date=/^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2})$/;this.reg.email=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;this.reg.url=/^(((ht|f)tp(s?))\:\/\/)[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;this.reg.phone=/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/;this.reg.mobile=/^((\(\d{2,3}\))|(\d{3}\-))?((13\d{9})|(159\d{8}))$/;this.reg.ip=/^(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5]).(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5]).(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5]).(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])$/;this.reg.zipcode=/^[1-9]\d{5}$/;this.reg.qq=/^[1-9]\d{4,10}$/;this.reg.msn=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;this.reg.idcard=/(^\d{15}$)|(^\d{17}[0-9Xx]$)/;this.tip=new Object();this.tip.unknow='未找到的验证类型，无法执行验证。';this.tip.paramError='参数设置错误，无法执行验证。';this.tip.required='不允许为空。';this.tip.english='仅允许英文字符及下划线 (a-zA-Z0-9_)。';this.tip.chinese='仅允许中文字符。';this.tip.number='不是一个有效的数字。';this.tip.integer='不是一个有效的整数。';this.tip.float='不是一个有效的浮点数。';this.tip.date='不是一个有效的日期格式。 (例如：2007-06-29)';this.tip.email='不是一个有效的电子邮件格式。';this.tip.url='不是一个有效的超链接格式。';this.tip.phone='不是一个有效的电话号码。';this.tip.mobile='不是一个有效的手机号码。';this.tip.ip='不是一个有效的IP地址。';this.tip.zipcode='不是一个有效的邮政编码。';this.tip.qq='不是一个有效的QQ号码。';this.tip.msn='不是一个有效的MSN帐户。';this.tip.idcard='不是一个有效的身份证号码。';this.getControlName=function(){return obj.getAttribute('controlName')==null?'指定控件的值':obj.getAttribute('controlName');};this.setFocus=function(ele){try{ele.focus();}catch(e){}};this.setBorderColor=function(ele){var borderColor=ele.currentStyle?ele.currentStyle.borderColor:document.defaultView.getComputedStyle(ele,null)['borderColor'];ele.style.borderColor='#ff9900';ele.onkeyup=function(){this.style.borderColor=borderColor;}};this.feedback=function(type){try{var msg=eval('this.tip.'+type)==undefined?type:this.getControlName()+eval('this.tip.'+type);}catch(e){msg=type;}this.setBorderColor(obj);alert(msg);this.setFocus(obj);};this.validate=function(){var v=obj.value;var required=obj.getAttribute('required');if(required!=null&&v.isEmpty()){this.feedback('required');return false;}var dataType=obj.getAttribute('dataType');if(!v.isEmpty()&&dataType!=null&&dataType.toLowerCase()!='password'){dataType=dataType.toLowerCase();try{if(!(eval('this.reg.'+dataType)).test(v)){this.feedback(dataType);return false;}}catch(e){this.feedback('unknow');return false;}}var confirm=obj.getAttribute('confirm');if(confirm!=null){try{var data=eval('formObj.'+confirm+'.value');if(v!=data){alert('两次输入的内容不一致，请重新输入。');this.setBorderColor(obj);this.setFocus(obj);return false;}}catch(e){this.feedback('paramError');return false;}}var dataBetween=obj.getAttribute('dataBetween');if(!v.isEmpty()&&dataBetween!=null){var min=dataBetween.getBetweenVal('min');var max=dataBetween.getBetweenVal('max');if(min==null||max==null){this.feedback('paramError');return false;}if(!v.isBetween(v.trim(),min,max)){this.feedback(this.getControlName()+'必须是介于 '+min+'-'+max+' 之间的数字。');return false;}}var dataLength=obj.getAttribute('dataLength');if(!v.isEmpty()&&dataLength!=null){var min=dataLength.getBetweenVal('min');var max=dataLength.getBetweenVal('max');if(min==null||max==null){this.feedback('paramError');return false;}if(!v.isBetween(v.trim().length,min,max)){this.feedback(this.getControlName()+'必须是 '+min+'-'+max+' 个字符。');return false;}}return true;};this.init=function(){if(!this.validate()){return false;}return true;};return this.init();};function refreshVC(img){if(img==undefined)img="checkCodeImg";var ccImg=$("#"+img);var ccImgSrc="";if(ccImg.html()!=null){nowTime=new Date();ccImgSrc="securityCode.php?r="+nowTime.getTime();ccImg.attr("src",ccImgSrc);}}Array.prototype.in_array=function(a){for(var i=0;i<this.length;i++){thisEntry=this[i].toString();if(thisEntry==a){return true}}return false};function isHTMLblank(val){if ($.trim(val.replace(/<br>/gi,"").replace(/&nbsp;/gi,""))=='') return true;else return false;}


/**让FireFox也能使用innerText**/
function isIE(){ //ie?
   if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1)
    return true;
   else
    return false;
}

if(!isIE()){ //firefox innerText define
   HTMLElement.prototype.__defineGetter__(     "innerText",
    function(){
     var anyString = "";
     var childS = this.childNodes;
     for(var i=0; i<childS.length; i++) {
      if(childS[i].nodeType==1)
       anyString += childS[i].tagName=="BR" ? '\n' : childS[i].innerText;
      else if(childS[i].nodeType==3)
       anyString += childS[i].nodeValue;
     }
     return anyString;
    }
   );
   HTMLElement.prototype.__defineSetter__(     "innerText",
    function(sText){
     this.textContent=sText;
    }
   );
}

function isMoney(str){
	var str = $.trim(str);
	if(str.length!=0){
		reg=/^[-\+]?\d+(\.\d+)?$/;
		if(!reg.test(str)){
			return false;
		}else return true;
	}
	return false;
}

function isInt(str, sign){
	var str = $.trim(str);
	if(str.length!=0){
		if(sign)
			reg=/^[+]?\d+$/; 
		else
			reg=/^[-\+]?\d+$/; 
		if(!reg.test(str)){
			return false;
		}else return true;
	}
	return false;
}


// 对Date的扩展，将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
// 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子：
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function(fmt)
{ //author: meizz
  var o = {
    "M+" : this.getMonth()+1,                 //月份
    "d+" : this.getDate(),                    //日
    "h+" : this.getHours(),                   //小时
    "m+" : this.getMinutes(),                 //分
    "s+" : this.getSeconds(),                 //秒
    "q+" : Math.floor((this.getMonth()+3)/3), //季度
    "S"  : this.getMilliseconds()             //毫秒
  };
  if(/(y+)/.test(fmt))
    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  for(var k in o)
    if(new RegExp("("+ k +")").test(fmt))
  fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
  return fmt;
}

function emptyFCK(name)
{
    var oEditor=FCKeditorAPI.GetInstance(name);
    var content=oEditor.GetXHTML(true);
    content=content.replace(/　/g,"");
    content=content.replace(/\s/g,"");
    content=content.replace(/&nbsp;/g,"");
    content=content.replace(/<br\/>/g,"");
    content=content.replace(/<p><\/p>/g,"");
    content=content.replace(/<div><\/div>/g,"");
    if(content==null||content==""){
        oEditor.SetHTML("");
        return true;
    }
    return false;
}