﻿// JScript文件

//显示隐藏控件
function hidelayer(lay)
{
    document.getElementById(lay).style.display = "none";
}
function showlayer(lay)
{
    document.getElementById(lay).style.display = "";
}

//获取浏览器事件，同时兼容ie和ff的写法 
function getEvent()
{
    if(document.all) return window.event; 
    func = getEvent.caller; 
    while(func!=null)
    { 
        var arg0 = func.arguments[0]; 
        if(arg0)
        { 
            if((arg0.constructor==Event && arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))
            {
                return arg0; 
            }
        }
        func = func.caller;
    }
    return null;
}

//终止表单提交
function EventHalt()
{
    switch(GetBrowser())
    {
        case "MSIE":
            event.returnValue = false;
        break;
        case "Firefox":
            getEvent().preventDefault();
        break;
        default:
            event.returnValue = false;
        break;
    }
}

//判断客户端浏览器类型
function GetBrowser()
{
    if (window.navigator.userAgent.indexOf("MSIE")>=1)
    {
        return "MSIE";
    }
    else if(window.navigator.userAgent.indexOf("Firefox")>=1)
    {
        return "Firefox";
    }
    else
    {
        return "Other";
    }
}

//取得字符串长度
function GetStringLen(value)
{
    return value.replace(/[^\x00-\xff]/gi,'xx').length;
}

//取得指字长度的字符串[通用]
function GetLenString(value,len)
{
    if(len <= 0)
    {
        return value;
    }
    var retString = "";
    var intLen = 0;
    //var strValue = Trim(value);
    for(iiii=0;iiii<value.length;iiii++)
    {
        var strOne = value.substring(iiii,iiii+1);
        intLen += strOne.replace(/[^\x00-\xff]/gi,'xx').length;
        if(intLen > len)
        {
            break;
        }
        else
        {
            retString += strOne;
        }
    }
    return retString;
}

function SetValueForControlName(Name,Value)
{
    var obj = document.getElementsByName(Name);
    var Len;
    for(ii=0;ii<obj.length;ii++)
    {
        Len = obj[ii].innerHTML;
        if(Len <= 0)
        {
            Len = 0;
        }
        if(IsNumber(Len) || Len == 0)
        {
            Len = Len * 1;
            obj[ii].innerHTML = GetLenString(Value,Len);
        }
    }
}

// **************************************************************** //
// function Trim(value)
// --------------
// 功能：删除两端空格（= Trim）
// 参数：       value 要格式化的字符串
// 返回：       格式化后的字符串
// **************************************************************** //
function Trim(value){
	var res = String(value).replace(/^[\s]+|[\s]+$/g,'');
	return res;
}

// 取得url的参数
String.prototype.getQueryString = function(param)
{
  var reg = new RegExp("(^|&|\\?)"+ param +"=([^&]*)(&|$)"), r;
  if (r=this.match(reg)) return unescape(r[2]); return null;
};

// check email format
function IsMail(mail){ 
    var patrn = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; 
    if (!patrn.test(mail)) 
        return false; 
    else 
        return true; 
}
function IsNumber(oNum)
{
    if(!oNum) return false;
    var strP=/^\d+(\.\d+)?$/;
    if(!strP.test(oNum)) return false;
    try{
        if(parseFloat(oNum)!=oNum) return false;
    }
    catch(ex)
    {
        return false;
    }
    return true;
}
function ToNumber(value)
{
    return Trim(value).replace("１","1").replace("２","2").replace("３","3").replace("４","4").replace("５","5").replace("６","6").replace("７","7").replace("８","8").replace("９","9").replace("０","0").replace("．",".").replace("。",".");
}
//  = getElementById
function GetE(id){ 
    return document.getElementById(id); 
}
//日期格式：YYYY-MM-DD
function isDate(strDate){
   var _separator = "-"; 
   var _Year,  _Month, _Day;
   var _is_leap_Year;
   
   var _arr_Date = strDate.split(_separator);
   if(_arr_Date.length!=3) return false;
   
   _Year = parseInt(_arr_Date[0],10);
   _Month = parseInt(_arr_Date[1],10);
   _Day = parseInt(_arr_Date[2],10);
   
   if(isNaN(_Year) || isNaN(_Month) || isNaN(_Day)) return false;
   if( _Month>12 || _Month<1 ) return false;
   if((_Month==1 || _Month==3 || _Month==5 || _Month==7 || _Month==8 || _Month==10 || _Month==12) && (_Day>31 || _Day<1)) return false;
   if((_Month==4 || _Month==6 || _Month==9 ||_Month==11) && (_Day>30 || _Day<1)) return false;
   if(_Month == 2){
      if(_Day<1) return false;
      _is_leap_Year = false;
      if((_Year % 100) == 0){
         if(( _Year % 400) ==0 ) _is_leap_Year = true;
      } else {
         if( (_Year % 4) ==0) _is_leap_Year = true;
      }
      
      if(is_leap_Year) {
         if(_Day > 29) return false;
      } else {
         if(_Day>28) return false;
      }
   }
   return true;
}

//取得选择Radio的值
function GetRadioBoxValue(radioName)
{  
    var obj = document.getElementsByName(radioName);
    for(i=0;i<obj.length;i++)
    {
        if(obj[i].checked)
        {
            return obj[i].value;
        }
    }
    return "undefined";
}

//设置选择Radio的值
function SetRadioBoxValue(radioName,value)
{  
    var obj = document.getElementsByName(radioName);
    for(i=0;i<obj.length;i++)
    {
        if(obj[i].value == value)
        {
            obj[i].checked = true;
            return;
        }
    }
}

//获得指定其日的字符串
function jscomGetDateStr(ftype_name){
	var ret_str,objDate;
	var year,month,day;
	
	objDate=new Date();
	year=objDate.getFullYear();
	month=objDate.getMonth()+1;
	day=objDate.getDate();

	switch(ftype_name){
		case "now_date":	//本日
				ret_str=year+"-"+month+"-"+day;
				break;
		case "yestoday":	//昨天
				objDate.setDate(objDate.getDate()-1);
				year=objDate.getFullYear();
				month=objDate.getMonth()+1;
				day=objDate.getDate();
				ret_str=year+"-"+month+"-"+day;
				break;
		case "now_week_begin":	//本周初
				objDate.setDate(objDate.getDate() +1-objDate.getDay());
				year=objDate.getFullYear();
				month=objDate.getMonth()+1;
				day=objDate.getDate();
				ret_str=year+"-"+month+"-"+day;
				break;
		case "now_week_end":	//本周末
				objDate.setDate(objDate.getDate()+7-objDate.getDay());
				year=objDate.getFullYear();
				month=objDate.getMonth()+1;
				day=objDate.getDate();
				ret_str=year+"-"+month+"-"+day;
				break;
		case "pre_week_begin":	//上周初
				objDate.setDate(objDate.getDate() +1 -7 -objDate.getDay());
				year=objDate.getFullYear();
				month=objDate.getMonth()+1;
				day=objDate.getDate();
				ret_str=year+"-"+month+"-"+day;
				break;
		case "pre_week_end":	//上周末
				objDate.setDate(objDate.getDate()-objDate.getDay());
				year=objDate.getFullYear();
				month=objDate.getMonth()+1;
				day=objDate.getDate();
				ret_str=year+"-"+month+"-"+day;
				break;
		case "month_begin":	//本月初
				ret_str=year+"-"+month+"-1";
				break;
		case "month_end":	//本月末
				objDate.setMonth(month);
				objDate.setDate(0);
				ret_str=year+"-"+month+"-"+objDate.getDate();
				break;
		case "pre_month_begin":	//上月初
				objDate.setMonth(objDate.getMonth()-1);
				year=objDate.getFullYear();
				month=objDate.getMonth()+1;
				day=objDate.getDate();
				ret_str=year+"-"+month+"-1";
				break;
		case "pre_month_end":	//上月末
				objDate.setMonth(month-1);
				objDate.setDate(0);
				year=objDate.getFullYear();
				month=objDate.getMonth()+1;
				day=objDate.getDate();
				ret_str=year+"-"+month+"-"+day;
				break;
		case "year_begin":	//本年初
				ret_str=year+"-01-01";
				break;
		case "year_end":	//本年末
				objDate.setMonth(12);
				objDate.setDate(0);
				ret_str=year+"-12-"+objDate.getDate();
				break;
		case "pre_year_begin":	//上年初
				year=year-1;
				ret_str=year+"-01-01";
				break;
		case "pre_year_end":	//上年末
				objDate.setYear(objDate.getYear()-1);
				objDate.setMonth(12);
				objDate.setDate(0);
				year=objDate.getFullYear();
				month=objDate.getMonth()+1;
				day=objDate.getDate();
				ret_str=year+"-"+month+"-"+day;
				break;
		default:	//本日
				ret_str=year+"-"+month+"-"+day;
				break;
	}
	return ret_str;
}


//鼠标提示
var tooltip=function(){
	var id = 'divTooltip';
	var top = 3;
	var left = 3;
	var maxw = 300;
	var speed = 30;
	var timer = 20;
	var endalpha = 95;
	var alpha = 0;
	var tt,t,c,b,h;
	var ie = document.all ? true : false;
	return{
		show:function(v,w){
			if(tt == null){
				tt = document.createElement('div');
				tt.setAttribute('id',id);
				t = document.createElement('div');
				t.setAttribute('id',id + '_Top');
				c = document.createElement('div');
				c.setAttribute('id',id + '_Cont');
				b = document.createElement('div');
				b.setAttribute('id',id + '_Bot');
				tt.appendChild(t);
				tt.appendChild(c);
				tt.appendChild(b);
				document.body.appendChild(tt);
				tt.style.opacity = 0;
				tt.style.filter = 'alpha(opacity=0)';
				document.onmousemove = this.pos;
			}
			tt.style.display = 'block';
			c.innerHTML = v;
			tt.style.width = w ? w + 'px' : 'auto';
			if(!w && ie){
				t.style.display = 'none';
				b.style.display = 'none';
				tt.style.width = tt.offsetWidth;
				t.style.display = 'block';
				b.style.display = 'block';
			}
			if(tt.offsetWidth > maxw){tt.style.width = maxw + 'px'}
			h = parseInt(tt.offsetHeight) + top;
			clearInterval(tt.timer);
			tt.timer = setInterval(function(){tooltip.fade(1)},timer);
		},
		pos:function(e){
			var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
			var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
			tt.style.top = (u - h) + 'px';
			tt.style.left = (l + left) + 'px';
		},
		fade:function(d){
			var a = alpha;
			if((a != endalpha && d == 1) || (a != 0 && d == -1)){
				var i = speed;
				if(endalpha - a < speed && d == 1){
					i = endalpha - a;
				}else if(alpha < speed && d == -1){
					i = a;
				}
				alpha = a + (i * d);
				tt.style.opacity = alpha * .01;
				tt.style.filter = 'alpha(opacity=' + alpha + ')';
			}else{
				clearInterval(tt.timer);
				if(d == -1){tt.style.display = 'none'}
			}
		},
		hide:function(){
//			clearInterval(tt.timer);
//			tt.timer = setInterval(function(){tooltip.fade(-1)},timer);
			tt.style.display = 'none';
		}
	};
}();

// 只允许输入数字
function KeyPress(obj){
    var code = event.keyCode;
    if(47 < code && code < 58){  
        event.returnValue = true;
    } else  {
        event.returnValue = false;
    }
}

// 只允许输入数字，小数点，小数点后只允许输入两位
function NumberKeyPress(obj){
    var txtval = obj.value;  
    var l=obj.value.length;
    var key = event.keyCode;
    if((key < 48||key > 57)&&key != 46){  
        event.keyCode = 0;
    } else  {
        if(key == 46) {
            if(txtval.indexOf(".") != -1||txtval.length == 0) {
                event.keyCode = 0;
            }
        }
    }
    if(txtval.indexOf(".") != -1){
        var decimalPart=txtval.substring(txtval.indexOf(".")+1,l);  
        if(decimalPart.length>=2){  
            event.keyCode = 0;
        }
    }
}

//取得所有类型控件
function GetNameList(name)
{
	return document.getElementsByTagName?document.getElementsByTagName(name):new Array()
}

//隐藏所有类型控件
function HiddenControl(name)
{
    var _AllControl = GetNameList(name);
	for (var i=0; i<_AllControl.length; i++)
	{
		_AllControl[i].style.visibility = "hidden";
	}
}

//显示所有类型控件
function VisibleControl(name)
{
    var _AllControl = GetNameList(name);
	for (var i=0; i<_AllControl.length; i++)
	{
		_AllControl[i].style.visibility = "visible";
	}
}


//交换图片js
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}



function DocumentMouseClick(e)
{
    //点击显示
    try{MouseClick_ClueWindow(e);}
    catch(ex){}
    //日历
    try{MouseClick_Calendar(e);}
    catch(ex){}
    
}

//--------------------- 判断是否是合法身份证号
function isCardNo(s){   
	var ma = null;
	if(s.length == 15){
		ma = s.match(/^\d{6}(\d{6})\d{3}$/);
	}else if(s.length == 18){
		ma = s.match(/^\d{6}(\d{8})\d{3}[0-9xX]$/); 
	}
	
	return ma != null && isDate(ma[1]);
}
    
function isDate(s){
	if(s == null) return false;
	var matchArray = Trim(s).match(/^((\d{2}){1,2})(\d{2})(\d{2})$/);
	if(matchArray == null) return false;
	
	var year = matchArray[1];
	var month = matchArray[3];
	var day = matchArray[4];
	if((month-12)>0 || (month-1)<0) return false;
	if((day-31)>0 ||(day-1)<0) return false;
	if((day - getDays(year,month))>0) return false;
	return true;
}
    
function getDays(year,month){
	if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) return 31;
	if(month==4||month==6||month==9||month==11) return 30;
	if(year%400==0) return 29;
	if(year%100==0) return 28;
	if(year%4==0) return 29;
	return 28;
}
//--------------------------------------------

//刷新验证码
function RefreshVerifycode(){
    var imgVerifycode = GetE("imgVerifycode");
    if (imgVerifycode)    {
        imgVerifycode.src = "VerifycodeService.koc?r=" + (new Date()).getTime();
    }
}