/***************************************************************************
Copyright (c) 2005 2005 西安交通大学通用软件公司
创建人: 
日  期:     
修改人:	
日  期:   
描  述: 页面数据验证类工具集 
版  本: 1.0 
***************************************************************************/

var ObjToolKit = new Object()

ObjToolKit.CheckEmpty = function(vobj,vCaption) 
{
	if (ObjToolKit.IsEmpty(vobj.value)){ 
		alert(vCaption + "必须输入!");
		vobj.focus();
		return false;
	}             
	return true;  
}

ObjToolKit.IsPositiveInteger = function(vObj)
{
	var regTest = /^\d+$/;
	return regTest.test(vObj);
}
	
ObjToolKit.CheckDate = function(vobj,vCaption,vCanbeblank)
{
	var vDate;    
	var vValid;  
	
	vobj.value = ObjToolKit.Trim(vobj.value);
	
	vDate = vobj.value;
	
	var reg = /^(\d{4})(-)(\d{2})\2(\d{2})$/;
	var r = vDate.match(reg);
	
	vValid = false;
	
	if( vDate == "" && vCanbeblank){
		vValid =  true;
	}else if ( r == null){
		vValid = false;
	}else{ 
	
		var d = new Date(r[1], r[3]-1,r[4]);
		var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate();
		
		vDate = r[1]+r[2]+((r[3]-1)+1)+r[2]+((r[4]-1)+1);
	
		vValid = (newStr == vDate);
	}
	
	if (!vValid){
		alert (vCaption + "必须按yyyy-mm-dd的格式输入合法的日期!" + "例如：2001-12-01。");
		vobj.focus();
	}
	
	return vValid
}
	
ObjToolKit.CheckDate_NY = function(vobj,vCaption,vCanbeblank)
{
	vobj.value = ObjToolKit.Trim(vobj.value);
	if (isdate(vobj.value) || (vobj.value =="" && vCanbeblank)){
		return true;
	}else{
		alert(vCaption + "必须按yyyy-mm的格式输入合法的日期!" + "例如：2001-12。");
		vobj.focus();
		return false;
	}
}

ObjToolKit.IsNumeric = function(vObj)
  { 
	if(vObj.value.length<=0) return true;
    if(vObj.value==0) return true;

    f=vObj.value.replace(/[$,]/, "");
    v=parseFloat(vObj.value);
    if( isNaN(v) || v != vObj.value || v==0 || f.match(/\s/) )
      { 
        return false;
      }
    else return true;
 }
 
ObjToolKit.CheckNumber = function (vObj,vCaption,vMinnum,vMaxnum)
{
	vObj.value = ObjToolKit.Trim(vObj.value);
	if (!ObjToolKit.IsNumeric(vObj)){
		alert(vCaption + "必须输入合法的数值!");
		vObj.focus();
		return false;
	}else if (parseInt(vObj.value) < parseInt(vMinnum) || parseInt(vObj.value) > parseInt(vMaxnum)){
		alert(vCaption + "必须输入" + vMinnum + "到" + vMaxnum + "之间的数值");
		vObj.focus();
		return false;
	}
	vObj.value = parseInt(vObj.value);
	return true;
}
	
ObjToolKit.CheckLength = function (vobj,vCaption,vLength)
{
	var i,ll,ch;
	
	ll=0;
	vobj.value = ObjToolKit.Trim(vobj.value);
    for (i=0;i<vobj.value.length;i++){    	
      	if (vobj.value.charCodeAt(i) < 255 && vobj.value.charCodeAt(i) > 0){
			 ll = ll+1;
		}else{
			ll=ll+2
		}
	}
    	
	if (ll > vLength){
		alert(vCaption + "只能输入" + vLength + "个字符!");
		vobj.focus();
		return false;
	}
	
	return true;
}
	
ObjToolKit.IsEmpty = function(vValue)
{
	var whitespace = " \t\n\r";
	var i;
	
	if((vValue == null) || (vValue.length == 0)){
		return true;
	}
	
	for (i = 0; i < vValue.length; i++){   
		var c = vValue.charAt(i);
		if (whitespace.indexOf(c) == -1){ 
			return false;
		}
    }
    return true;
}

ObjToolKit.Trim = function(vValue)
{
	var str="";
	var sChar;
	
	if (vValue == null){
		return null;
	}else{
		for(var i=0;i<vValue.length;i++){
			sChar = vValue.substring(i,i+1)
			if(sChar!=" "){
				str += sChar;
			}
		}
	}
	return str;
}

ObjToolKit.OpenWindow = function(vUrlPath,vName,vWidth,vHeight,vTop,vLeft)
{
	var objWin;
	var vParams;
					
	if (vWidth == "") vWidth = "790";
	if (vHeight == "") vHeight = "480";
	if (vTop == "") vTop = "100";
	if (vLeft == "") vLeft = "100";
	
	vParams = "fullscreen=0,toolbar=0,location=0,directories=0,status=0,menubar=0,";
	vParams += "scrollbars=1,resizable=1,width=" + vWidth + ",height=" + vHeight;
	vParams += ",top=" + vTop + ",left=" + vLeft;
	
	objWin = window.open(vUrlPath,vName,vParams,'');	
	objWin.focus();	
	
	return objWin;
}

ObjToolKit.PopDialog = function (vUrlPath,vObj,vWidth,vHeight)
{
	var vReturnValue;
	var vParams;
	
	if (vWidth == "") vWidth = "280";
	if (vHeight == "") vHeight = "180";
	
	vParams = "scrollbar:no;status:no;resizable:no;unadorne:yes;";
	vParams += "dialogHeight:" + vHeight + ";dialogWidth:" + vWidth;
	
	vReturnValue = showModalDialog(vUrlPath,vObj,vParams);
	
	return vReturnValue;
}
//得到当前日期字符串
ObjToolKit.GetCurrentDate = function ()
{
	var vReturnValue;	
	
	var today;
	var s_day;
	
	today = new Date();

	if(today.getDay()==0) s_day = "星期日";
	if(today.getDay()==1) s_day = "星期一";
	if(today.getDay()==2) s_day = "星期二";
	if(today.getDay()==3) s_day = "星期三";
	if(today.getDay()==4) s_day = "星期四";
	if(today.getDay()==5) s_day = "星期五";	
	if(today.getDay()==6) s_day = "星期六";
	
	vReturnValue  = (today.getYear()) + "年" + (today.getMonth() + 1 ) + "月" + today.getDate() + "日 " + s_day;
		
	return vReturnValue;
}

//大写金额转小写金额
ObjToolKit.ChineseToNumber = function (num)
{
	var numArray = new Array()
	var unit = "亿万圆$"
	for (var i=0; i<unit.length; i++)
	{
		var re = eval("/"+ (numArray[i-1] ? unit.charAt(i-1) : "") +"(.*)"+unit.charAt(i)+"/")
		if (num.match(re))
		{
			numArray[i] = num.match(re)[1].replace(/^拾/, "壹拾")
			numArray[i] = numArray[i].replace(/[零壹贰叁肆伍陆柒捌玖]/g, function ($1)
			{
				return "零壹贰叁肆伍陆柒捌玖".indexOf($1)
			})
			numArray[i] = numArray[i].replace(/[分角拾佰仟]/g, function ($1)
			{
				return "*"+Math.pow(10, "分角 拾佰仟 ".indexOf($1)-2)+"+"
			}).replace(/^\*|\+$/g, "").replace(/整/, "0")
			numArray[i] = "(" + numArray[i] + ")*"+Math.ceil(Math.pow(10, (2-i)*4))
		}
			else	numArray[i] = 0
	}
	return eval(numArray.join("+"))
}

//小写金额转大写金额
ObjToolKit.NumberToChinese = function (num)
{
	if (isNaN(num) || num > Math.pow(10, 12)) return ""
	var cn = "零壹贰叁肆伍陆柒捌玖"
	var unit = new Array("拾佰仟", "分角")
	var unit1= new Array("万亿", "")
	var numArray = num.toString().split(".")
	var start = new Array(numArray[0].length-1, 2)

	function toChinese(num, index)
	{
		var num = num.replace(/\d/g, function ($1)
		{
			return cn.charAt($1)+unit[index].charAt(start--%4 ? start%4 : -1)
		})
		return num
	}

	for (var i=0; i<numArray.length; i++)
	{
		var tmp = ""
		for (var j=0; j*4<numArray[i].length; j++)
		{
			var strIndex = numArray[i].length-(j+1)*4
			var str = numArray[i].substring(strIndex, strIndex+4)
			var start = i ? 2 : str.length-1
			var tmp1 = toChinese(str, i)
			tmp1 = tmp1.replace(/(零.)+/g, "零").replace(/零+$/, "")
			tmp1 = tmp1.replace(/^壹拾/, "拾")
			tmp = (tmp1+unit1[i].charAt(j-1)) + tmp
		}
		numArray[i] = tmp
	}

	numArray[1] = numArray[1] ? numArray[1] : ""
	numArray[0] = numArray[0] ? numArray[0]+"圆" : numArray[0], numArray[1] = numArray[1].replace(/^零+/, "")
	numArray[1] = numArray[1].match(/分/) ? numArray[1] : numArray[1]+"整"
	return numArray[0]+numArray[1]
}
		
//调用楼幢弹出页面查询
//参数vBuildingUnit：预留的入口参数
//返回：vWin（预留）
ObjToolKit.DoPopBuildingQuery = function(vOption)
{
    var vWin;
	var vUrl = ObjToolKit.GetAbsoluteUrl("RelationLink/LinkBuildingInfor.aspx?");	
	    vUrl += "LZID="+vOption+"";
	    
	
	return vWin = ObjToolKit.PopDialog(vUrl,vOption,"500pt","350pt");
}

//弹出 房屋平面图 查询 窗口
ObjToolKit.DoPopHouseImageQuery = function(vOption)
{
	var vObjWin;
	var vUrl;
	
	vUrl	= "HouseImageSelect.aspx?LZID=";
	vUrl	+= vOption;

	return vObjWin = ObjToolKit.PopDialog(vUrl,"","600px","400px");
}


//调用合同打印页面
ObjToolKit.ContractPrint = function(vOption)
{
	var vWin;
	var vUrl;
	var vParams;

	vParams = "fullscreen=0,toolbar=0,location=0,directories=0,status=1,menubar=0,";
	vParams += "scrollbars=1,resizable=0,width=720,height=710,top=0pt,left=200";
		
	vUrl = ObjToolKit.GetAbsoluteUrl("Contract/ContractPrint.aspx?");
	vUrl += "HTDJH="+vOption+"";	
	
	return vWin = window.open(vUrl,"",vParams);
}

//获取页面的绝对路径
//参数：vPath，相对于WEB应用程序的相对路径，如“public/Login.aspx”
//返回：页面的绝对路径，如“/public/login.aspx”
ObjToolKit.GetAbsoluteUrl = function(vPath)
{
	var vUrl;
	var vPathName;			
	
	vPathName = window.location.pathname;
	
	if(vPathName.indexOf("/") > 0){
		vPathName = "/".concat(vPathName);
	}
	
	if (vPathName.split("/").length > 2){
		vUrl = "/".concat(vPathName.split("/")[1]).concat("/").concat(vPath);
	}else{
		vUrl = "/".concat(vPath);
	}
	
	return vUrl;
}

//日期选择
//参数： 日期文本框 ID
//返回：将所选日期录入文本框
ObjToolKit.SelectData = function(vControlID)
{
	var vWin;
	var vPath;
	if(vControlID == null || vControlID == ""){
	return;
	}else if(window.document.getElementById(vControlID) == null){
		return;
	}else{
		vPath = ObjToolKit.GetAbsoluteUrl("public/SelectDate.htm");
		vWin = window.showModalDialog(vPath,window.document.getElementById(vControlID).value,"dialogWidth:450px;status:no;dialogHeight:370px")
		
		if(vWin != null && vWin != ""){
			window.document.getElementById(vControlID).value =vWin;				
		}
	}
}