// JavaScript Document
//<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!--
function getURLencode(GetURL){
	GetURL = GetURL.replace('~','%7e');
	GetURL = GetURL.replace('@','%40');
	GetURL = GetURL.replace('#','%23');
	GetURL = GetURL.replace('$','%24');
	GetURL = GetURL.replace('%','%25');
	GetURL = GetURL.replace('\^','%5e');
	GetURL = GetURL.replace('&','%26');
	GetURL = GetURL.replace('+','%2b');
	GetURL = GetURL.replace('|','%7c');
	GetURL = GetURL.replace('\\','%5c');
	GetURL = GetURL.replace('\=','%3d');
	GetURL = GetURL.replace('`','%60');
	GetURL = GetURL.replace('{','%7b');
	GetURL = GetURL.replace('}','%7d');
	GetURL = GetURL.replace(']','%5d');
	GetURL = GetURL.replace('[','%5b');
	GetURL = GetURL.replace('"','%22');
	GetURL = GetURL.replace(':','%3a');
	GetURL = GetURL.replace(';','%3b');
	GetURL = GetURL.replace('?','%3f');
	GetURL = GetURL.replace('>','%3e');
	GetURL = GetURL.replace('<','%3c');
	GetURL = GetURL.replace('/','%2f');
	GetURL = GetURL.replace(',','%2c');
	GetURL = GetURL.replace(' ','+');
	return GetURL;
}

function getURLdecode(GetURL){
	GetURL = GetURL.replace('%7e','~');
	GetURL = GetURL.replace('%40','@');
	GetURL = GetURL.replace('%23','#');
	GetURL = GetURL.replace('%24','$');
	GetURL = GetURL.replace('%25','%');
	GetURL = GetURL.replace('%5e','^');
	GetURL = GetURL.replace('%26','&');
	GetURL = GetURL.replace('%2b','+');
	GetURL = GetURL.replace('%7c','|');
	GetURL = GetURL.replace('%5c','\\');
	GetURL = GetURL.replace('%3d','=');
	GetURL = GetURL.replace('%60','`');
	GetURL = GetURL.replace('%7b','{');
	GetURL = GetURL.replace('%7d','}');
	GetURL = GetURL.replace('%5d',']');
	GetURL = GetURL.replace('%5b','[');
	GetURL = GetURL.replace('%22','"');
	GetURL = GetURL.replace('%3a',':');
	GetURL = GetURL.replace('%3b',';');
	GetURL = GetURL.replace('%3f','?');
	GetURL = GetURL.replace('%3e','>');
	GetURL = GetURL.replace('%3c','<');
	GetURL = GetURL.replace('%2f','/');
	GetURL = GetURL.replace('%2c',',');
	GetURL = GetURL.replace('+',' ');
	return GetURL;
}

function runOpen(GetURL, IsModal, GetWidth, GetHeight){

	if (GetURL == null || GetURL == '') return; else GetURL = getURLencode(GetURL);
	if (typeof(GetWidth)	!= 'number' || GetWidth < 0)  GetWidth	= screen.availWidth/2;
	if (typeof(GetHeight)	!= 'number' || GetHeight < 0) GetHeight	= screen.availHeight/2;
	var sFeatures = 'dialogHeight	=' + GetHeight + 'px;' +
					'dialogWidth	=' + GetWidth + 'px;' +
					'help: no;' +
					'status: no;'
	if (typeof(IsModal) == 'boolean' && IsModal == false){ 
		window.showModelessDialog('/res/js/dailogbox.jsp?url='+GetURL,window,sFeatures);
	}else{
		window.showModalDialog('/res/js/dailogbox.jsp?url='+GetURL,window,sFeatures);
	}
}

function runDateSelect(TextBoxHandle, IsCenter){
	var sFeatures	= null;
	var iHeight		= 280;
	var iWidth		= 250;
	if (typeof(IsCenter) == 'boolean' && IsCenter == true){ 
		sFeatures = 'dialogHeight:'+iHeight+'px;'+
					'dialogWidth:' +iWidth+'px;'+
					'help: no;' +
					'status: no;'
	}else{
		var x = event.screenX;
		var y = event.screenY;
		if (x 	>= parseInt(screen.availWidth - iWidth)) x -= iWidth;
		if (y 	>= parseInt(screen.availHeight - iHeight)) y -= iHeight;
		sFeatures = 'dialogHeight:'+iHeight+'px;'+
					'dialogWidth:' +iWidth+'px;'+
					'dialogLeft:' +x+'px;'+
					'dialogTop:' +y+'px;'+
					'center: no;'+
					'help: no;' +
					'status: no;'
	}
	//dialogHide: no;
	window.showModalDialog('/res/include/getdate.htm',TextBoxHandle,sFeatures);
}

function setDefaultValue(TextBoxHandle, IsCenter){
	var sFeatures	= null;
	var iHeight		= 180;
	var iWidth		= 260;
	if (typeof(IsCenter) == 'boolean' && IsCenter == true){ 
		sFeatures = 'dialogHeight:'+iHeight+'px;'+
					'dialogWidth:' +iWidth+'px;'+
					'help: no;' +
					'status: no;'
	}else{
		var x = event.screenX;
		var y = event.screenY;
		if (x 	>= parseInt(screen.availWidth - iWidth)) x -= iWidth;
		if (y 	>= parseInt(screen.availHeight - iHeight)) y -= iHeight;
		sFeatures = 'dialogHeight:'+iHeight+'px;'+
					'dialogWidth:' +iWidth+'px;'+
					'dialogLeft:' +x+'px;'+
					'dialogTop:' +y+'px;'+
					'center: no;'+
					'help: no;' +
					'status: no;'
	}
	//dialogHide: no;
	window.showModalDialog('/res/include/sys_info.jsp',TextBoxHandle,sFeatures);
}
function runStaffSelect(TextBoxHandle, IsCenter){
	var sFeatures	= null;
	var iHeight		= 380;
	var iWidth		= 350;
	if (typeof(IsCenter) == 'boolean' && IsCenter == true){ 
		sFeatures = 'dialogHeight:'+iHeight+'px;'+
					'dialogWidth:' +iWidth+'px;'+
					'help: no;' +
					'status: no;'
	}else{
		var x = event.screenX;
		var y = event.screenY;
		if (x 	>= parseInt(screen.availWidth - iWidth)) x -= iWidth;
		if (y 	>= parseInt(screen.availHeight - iHeight)) y -= iHeight;
		sFeatures = 'dialogHeight:'+iHeight+'px;'+
					'dialogWidth:' +iWidth+'px;'+
					'dialogLeft:' +x+'px;'+
					'dialogTop:' +y+'px;'+
					'center: no;'+
					'help: no;' +
					'status: no;'
	}
	//dialogHide: no;
	window.showModalDialog('/wwoa/comm/get_staff.jsp',TextBoxHandle,sFeatures);
}

function runCheckForm(FormHandle){
	var inputs	= FormHandle.all.tags('INPUT');
	var areas	= FormHandle.all.tags('TEXTAREA');
	var sels	= FormHandle.all.tags('SELECT');
	
	if (inputs.length > 0){
		for (var i = 0; i < inputs.length; i++){
			if (!runCheckControl(inputs[i])) return false;
		}
	}
	if (sels.length > 0){
		for (var i = 0; i < sels.length; i++){
			if (!runCheckControl(sels[i])) return false;
		}
	}	
	if (areas.length > 0){
		for (var i = 0; i < areas.length; i++){
			if (!runCheckControl(areas[i])) return false;
		}
	}
	return true;
}

function runCheckControl(ControlHandle){
	var type_num	= /[-|+]?\d+$/;
	var type_date	= /\d{2,4}[-\/]\d{1,2}[-\/]\d{1,2}$/;
	var type_mail	= /\w+([-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	var type_http	= /http:\/\/[\w-]+(\.[\w-]+)*(\/[\w-]?)*$/;

	var desc		= '未知控件';
	if (ControlHandle.desc != null){
		desc = ControlHandle.desc;
	}else if(ControlHandle.id != null){
		desc = ControlHandle.id;
	}else if(ControlHandle.name != null){
		desc = ControlHandle.name;
	}
	if (ControlHandle.style.visibility == 'hidden') return true;
	if (ControlHandle.datatype  == null) return true;
	if (ControlHandle.allownull != null && ControlHandle.allownull == 'true'){
		if (ControlHandle.value	== '') return true;
	}else{
		if (ControlHandle.value	== ''){
			alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值不能为空!');
			ControlHandle.focus();
			return false;
		}
	}

	var result		= null;
	var max			= null;
	var min			= null;
	
	var datatype	= ControlHandle.datatype;	
	if (datatype != 'date'){
		if (ControlHandle.max != null){
			result	= ControlHandle.max.match(type_num);
			if (result != null) max	= parseInt(result[0]);
		}
		if (ControlHandle.min != null){
			result	= ControlHandle.min.match(type_num);
			if (result != null) min	= parseInt(result[0]);
		}
	}else{
		if (ControlHandle.max != null){
			result	= ControlHandle.max.match(type_date);
			result	= result[0].replace(/\-/g,'/');
			if (result != null) max	= new Date(result);
		}
		if (ControlHandle.min != null){
			result	= ControlHandle.min.match(type_date);
			result	= result[0].replace(/\-/g,'/');
			if (result != null) min	= new Date(result);
		}
	}
	
	switch (datatype){
		case 'number':
			result = ControlHandle.value.match(type_num);
			if (result == null){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值格式错误!\n* 示例: -+0123456789');
				ControlHandle.focus();
				return false;
			}
			if (max != null && parseInt(result[0]) > max){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值不能大于'+max+'!');
				ControlHandle.focus();
				return false;
			}
			if (min != null && parseInt(result[0]) < min){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值不能小于'+min+'!');
				ControlHandle.focus();
				return false;
			}		
		break;
		case 'mail':
			result = ControlHandle.value.match(type_mail);
			if (result == null){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值格式错误!\n* 示例: xxx@xxx.xxx');
				ControlHandle.focus();
				return false;
			}
			if (max != null && result[0].length > max){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值长度不能多于'+max+'!');
				ControlHandle.focus();
				return false;
			}
			if (min != null && result[0].length < min){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值字节长度不能少于'+min+'!');
				ControlHandle.focus();
				return false;
			}
		break;
		
		
		
		
		case 'acount':
			
			if (!check_input_account(ControlHandle.value)){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值格式错误!\n* 示例:abcdefghijklmnopqrstuvwxyz_0123456789');
				ControlHandle.focus();
				return false;
			}
			if (max != null && result[0].length > max){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值长度不能多于'+max+'!');
				ControlHandle.focus();
				return false;
			}
			if (min != null && result[0].length < min){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值字节长度不能少于'+min+'!');
				ControlHandle.focus();
				return false;
			}
		break;
		
		
		
				case 'acount':
			
			if (!check_input_money(ControlHandle.value)){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值格式错误!\n* 示例:.0123456789');
				ControlHandle.focus();
				return false;
			}
			if (max != null && result[0].length > max){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值长度不能多于'+max+'!');
				ControlHandle.focus();
				return false;
			}
			if (min != null && result[0].length < min){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值字节长度不能少于'+min+'!');
				ControlHandle.focus();
				return false;
			}
		break;
		
		
		
		case 'money':
			
			if (!check_input_account(ControlHandle.value)){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值格式错误!\n* 示例:abcdefghijklmnopqrstuvwxyz_0123456789');
				ControlHandle.focus();
				return false;
			}
			if (max != null && result[0].length > max){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值长度不能多于'+max+'!');
				ControlHandle.focus();
				return false;
			}
			if (min != null && result[0].length < min){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值字节长度不能少于'+min+'!');
				ControlHandle.focus();
				return false;
			}
		break;
		
		
		
		
		
		case 'http':
			result = ControlHandle.value.match(type_http);
			if (result == null){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值格式错误!\n* 示例: http://xxx.xxx.xxx');
				ControlHandle.focus();
				return false;
			}
			if (max != null && result[0].length > max){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值字节长度不能多于'+max+'!');
				ControlHandle.focus();
				return false;
			}
			if (min != null && result[0].length < min){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值字节长度不能少于'+min+'!');
				ControlHandle.focus();
				return false;
			}
		break;
		case 'date':
			result = ControlHandle.value.match(type_date);
			if (result == null){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值格式错误!\n* 示例: 2006-08-27');
				ControlHandle.focus();
				return false;
				
			}
			result = result[0].replace(/\-/g,'/');
			//result = result.substring(0,10); 
			result = new Date(result);
			if (max != null && result > max){
				max = max.getFullYear()+'-'+(max.getMonth()+1)+'-'+max.getDate();
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值不能大于'+max+'!');
				ControlHandle.focus();
				return false;
			}
			if (min != null && result < min){
				min = min.getFullYear()+'-'+(min.getMonth()+1)+'-'+min.getDate();
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值不能小于'+min+'!');
				ControlHandle.focus();
				return false;
			}
		break;
		default:
			result = getByteLength(ControlHandle.value);
			if (max != null && result > max){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值字节长度不能多于'+max+'!');
				ControlHandle.focus();
				return false;
			}
			if (min != null && result < min){
				alert('错误信息\n\n* 说明: '+desc+'\n* 描述: 输入值字节长度不能少于'+min+'!');
				ControlHandle.focus();
				return false;
			}
		break;
	}
	return true;
}

function getTrimString(GetString){
	//var returnString = this;
	//for(var i = 0; i < returnString.length && returnString.charAt(i) == ' '; i++ );
	//for(var j = returnString.length; j > 0 && returnString.charAt(j-1) == ' '; j--);
	//if (i > j){return '';}else{return returnString.substring(i,j);}
	GetString = getLTrimString(GetString);
	GetString = getRTrimString(GetString);
	return GetString;	
}

function getLTrimString(GetString){
	//var returnString = this;
	//for(var i = 0; i < returnString.length && returnString.charAt(i) == ' '; i++ ) ;
	//return returnString.substring(i,returnString.length);
	return GetString.replace(/\s+/,'');	
}

function getRTrimString(GetString){
	//var returnString = this;
	//for(var i = returnString.length; i > 0 && returnString.charAt(i-1) == ' '; i--) ;
	//return returnString.substring(0,i);
	return GetString.replace(/\s+$/,'');
}

function getByteLength(GetString){
	var intCount = 0;
	for(var i = 0;i < GetString.length;i++)
	{
		// Ascii码大于255是双字节的字符
		if(GetString.charCodeAt(i) > 255) intCount += 2; else intCount += 1;
	}
	return intCount;
}

//将yyyy-mm-dd格式或yyyy-m-d格式的日期行字符串转换成yyyy-mm-dd的格式
function formatDate(vDate){
	var vPos1=vDate.indexOf("-");
	var vPos2=vDate.indexOf("-",vPos1+1);
	var vLength=vDate.length;

	var vTemp1="";
	var vTemp2="";
	var vTemp3="";

	if((vPos2==6) && (vLength==8)){
		vTemp1=vDate.substr(0,4);
		vTemp2="0"+vDate.substr(vPos1+1,1);
		vTemp3="0"+vDate.substr(vPos2+1,1);
	}else if((vPos2==7) && (vLength==9)){
		vTemp1=vDate.substr(0,4);
		vTemp2=vDate.substr(vPos1+1,2);
		vTemp3="0"+vDate.substr(vPos2+1,1);
	}else if((vPos2==6) && (vLength==9)){
		vTemp1=vDate.substr(0,4);
		vTemp2="0"+vDate.substr(vPos1+1,1);
		vTemp3=vDate.substr(vPos2+1,2);
	}else if((vPos2==7) && (vLength==10)){
		vTemp1=vDate.substr(0,4);
		vTemp2=vDate.substr(vPos1+1,2);
		vTemp3=vDate.substr(vPos2+1,2);
	}

	return vTemp1+"-"+vTemp2+"-"+vTemp3;
}

//将日期字符串转换成yyyymmdd hh24:mi:ss的格式
function formatDateTime(vDate){
	var vPos1=vDate.indexOf(" ");
	if (vPos1<1) {
		alert("日期与时间之间应加空格 或需要录入时间。");
		return "-1";
	}
	var vTemp=formatDate(vDate.substr(0,vPos1));
	var vTemp1="";
	var vTemp2="";
	var vTemp3="";

	var vTime=getTrimString(vDate.substr(vPos1));
	vPos1=vTime.indexOf(":");
	if (vPos1==1)
		vTemp1="0"+vTime.substr(0,vPos1);
	else if (vPos1==2)
		vTemp1=vTime.substr(0,vPos1);
	else if (vPos1>2 || vPos1<1){
		alert("小时格式不对。");
		return "-1";
	}

	var vLength=vTime.length;
	if (vLength>vPos1){
		vTime=vTime.substr(vPos1+1);
		vPos1=vTime.indexOf(":",vPos1+1);
		if (vPos1==1)
			vTemp2="0"+vTime.substr(0,vPos1);
		else if (vPos1==1)
			vTemp2=vTime.substr(0,vPos1);
		else if (vPos1<1){
			vLength=vTime.length;
			
			if (vLength==1)
				vTemp2="0"+vTime;
			else if (vLength==2)
				vTemp2=vTime;
			else {
				alert("分钟格式不对。");
				return "-1";
			}
			
			//vTemp2=vTime.substr(0,vPos1);
			
		}else if (vPos1>2){
			alert("分钟格式不对。");
			return "-1";
		}
	}else {
		vTemp1=vTemp1+":00:00";
	}
	vTemp=vTemp+" "+vTemp1+":"+vTemp2+":00";
	return vTemp;       
}




//检查传过来的变量是否在字符串中
function check_input_string(numchar, sNumber)
{
	if (sNumber=="")
		return false;
	var letter;
	for (var i=0; i < sNumber.length; i++) 
	{ 
		letter=sNumber.charAt(i);
		if (numchar.indexOf(letter)==-1)
			return false;
	}
	return true;
}




//检查传过来的变量是否money型
function check_input_money(sNumber)
{
	if (sNumber=="")
		return false;	
	var numchar="0123456789."
	var flag=check_input_string(numchar, sNumber);
	if (!flag) return flag;
	if (sNumber.indexOf(".")!=sNumber.lastIndexOf(".")) 
		return false;
	else
		return true;
}



//检查帐号是否合符规格
function check_input_account(sNumber)
{
	if (sNumber=="")
		return false;
	sNumber=sNumber.toLowerCase();
	var numchar="abcdefghijklmnopqrstuvwxyz_0123456789"
	return check_input_string(numchar, sNumber);
}



function chooseOpinion(strText,controlName){
	if (document.all(controlName).value.indexOf(strText)<0){
	   	if(document.all(controlName).value!="")
			document.all(controlName).value=document.all(controlName).value +"；  " +strText;
		else
			document.all(controlName).value=strText;
	}
}

//-->
