
Array.prototype.max = function()
{
	var i, max = this[0];
	
	for( i = 1; i < this.length; i++ )
	{
		if( max < this[i] )
		max = this[i];
	}
	
	return max;
}


String.prototype.trim = function()
{
    return this.replace( /(^\s*)|(\s*$)/g, "" );
}

function Trim(str){
 if(str.charAt(0) == " "){
  str = str.slice(1);
  str = Trim(str); 
 }
 return str;
}

function checkExp( re, s )
{
	return re.test( s );
}

function isAlphaNumeric( strValue )
{
	return checkExp( /^\w*$/gi, strValue );
}

function isDate( strValue )
{
	if( isEmpty( strValue ) ) return true;

	if( !checkExp( /^\d{4}-[01]?\d-[0-3]?\d$/g, strValue ) ) return false;
	
	var arr = strValue.split( "-" );
	var year = arr[0];
	var month = arr[1];
	var day = arr[2];
	
	if( !( ( 1<= month ) && ( 12 >= month ) && ( 31 >= day ) && ( 1 <= day ) ) )
		return false;
		
	if( !( ( year % 4 ) == 0 ) && ( month == 2) && ( day == 29 ) )
		return false;
	
	if( ( month <= 7 ) && ( ( month % 2 ) == 0 ) && ( day >= 31 ) )
		return false;
	
	if( ( month >= 8) && ( ( month % 2 ) == 1) && ( day >= 31 ) )
		return false;
	
	if( ( month == 2) && ( day >=30 ) )
		return false;
	
	return true;
}

function isEmail( strValue )
{
	if( isEmpty( strValue ) ) return true;
	
	var pattern = /^([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]*)*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
	return checkExp( pattern, strValue );
	
}

function isEmpty( strValue )
{
	if( strValue == "" )
		return true;
	else
		return false;
}

function isNumeric( strValue )
{
	
	return checkExp( /^\d*$/g, strValue );
}

function isNumberLimit(strValue , fromInt, toInt){
	if(isNumeric(strValue)){
		if((strValue >= fromInt) && (strValue <= toInt)){
			return true;
		}
	}
	return false;
}

function isColorFormat(strValue){
	var formatStr = "0123456789ABCDEF";
	var tempValue;
	if(strValue.length == 7){
		if("#" == strValue.substring(0,1)){
			tempValue = strValue.substring(1,7);
			for(i=0; i<tempValue.length; i++){
				if(formatStr.indexOf((tempValue.substring(i,i+1)).toUpperCase()) == -1){
					return false;
				}
			}
			return true;
		}
	}
	return false;
}

function isMoney( strValue )
{
	if( isEmpty( strValue ) ) return true;
	
	return checkExp( /^[+-]?\d+(,\d{3})*(\.\d+)?$/g, strValue );
}

function isPhone( strValue )
{
	
	if( isEmpty( strValue ) ) return true;
	
	return checkExp( /(^\(\d{3,5}\)\d{6,8}(-\d{2,8})?$)|(^\d+-\d+$)|(^(130|131|135|136|137|138|139)\d{8}$)/g, strValue );
}

function isPostalCode( strValue )
{
	return checkExp( /(^$)|(^\d{6}$)/gi, strValue )
}

function isURL( strValue )
{
	if( isEmpty( strValue ) ) return true;
	
	var pattern = /^(http|https|ftp):\/\/(\w+\.)+[a-z]{2,3}(\/\w+)*(\/\w+\.\w+)*(\?\w+=\w*(&\w+=\w*)*)*/gi;
	
	return checkExp( pattern, strValue );
	
}


function checkLength( strValue, strParam )
{
	if( isEmpty( strValue ) )	return true;
	
	if( strParam.charAt( 0 ) != 'L' )	return false;
	
	var l = strValue.length;
	var ml = parseInt( strParam.substr( 2 ) );
	
	switch( strParam.charAt( 1 ) )
	{
		case '<' :
			if( l >= ml )
				return false;
			break;
			
		case '=' :
			if( l != ml )
				return false;
			break;
			
		case '>' :
			if( l <= ml )
				return false;
			break;
			
		default :
			return false
	}
	
	return true;
}

function ValidateMaxLength( strName, strDescription, strLength) {
	var strMsg = "";
	var strValue = document.all( strName ).value.trim();
	var strMaxLength = "L<" + strLength;
	if( !checkLength( strValue, strMaxLength ))
	strMsg = '"' + strDescription + '"必须大于'+ strLength + '字符\n';
	return strMsg;
}


function ValidateMinLength( strName, strDescription, strLength) {
	var strMsg = "";
	var strValue = document.all( strName ).value.trim();
	var strMaxLength = "L>" + strLength;
	if( !checkLength( strValue, strMaxLength ))
	strMsg = '"' + strDescription + '"必须小于'+ (parseInt(strLength)+1) + '字符\n';
	return strMsg;
}


function ValidateEquLength( strName, strDescription, strLength) {
	var strMsg = "";
	var strValue = document.all( strName ).value.trim();
	var strMaxLength = "L=" + strLength;
	if( !checkLength( strValue, strMaxLength ))
	strMsg = '"' + strDescription + '"必须等于'+ strLength + 'char\n';
	return strMsg;
}


function CheckValid( obj, strDescription, strType)
{
	var strMsg = "";
	var strValue = obj.value.trim();
	
	switch( strType )
	{
		case "AlphaNumeric" :	
			if( !isAlphaNumeric( strValue ) )
				strMsg = '"' + strDescription + '"必须字母\n';
			break;
			
		case "Date" :	//
			if( !isDate( strValue ) ) 
				strMsg = '"' + strDescription + '"必须为日期，例如2001-10-01\n';
			break;
				
		case "Email" :	//
			if( !isEmail( strValue ) )
				strMsg = '"' + strDescription + '"必须是email，例如xx@yy.com\n';
			break;
				
		case "NotEmpty" :	//
			if( isEmpty( strValue ) )
				strMsg = '"' + strDescription + '"必须非空\n';
			break;
				
		case "Numeric" :	//num
			if( !isNumeric( strValue )  )
				strMsg = '"' + strDescription + '"必须为数字\n';
			break;
		
		case "Money" :	//
			if( !isMoney( strValue )  )
				strMsg = '"' + strDescription + '"必须为金额,例如123,456.789\n';
			break;
					
		case "Phone" :	//
			if( !isPhone( strValue ) )
				strMsg = '"' + strDescription + '"必须为电话号码(0755)1234567-999\n';
			break;
			
		case "PostalCode" :	//post
			if( !isPostalCode( strValue ) )
				strMsg = '"' + strDescription + '"必须为6位数字\n';
			break;
			
		case "URL" :	// URL
			if( !isURL( strValue ) )
				strMsg = '"' + strDescription + '"必须是url\n';
			break;
				
		default :	//
			if( arrType[i].charAt( 0 ) == 'L' )
			{
				if( !checkLength( strValue, arrType[i] ) )
					strMsg = '"' + strDescription + '"长度必须为' + arrType[i].substr(1) + '\n';
			}
			else
				strMsg = 'error"' + strDescription + '"类型"' + strType + '"不能识别\n';
	}
	
	if( strMsg != "" ) 
	{
		window.alert( strMsg );
		obj.focus();
	}
	
	return;
}

function ValidateKernel(strValue,strDescription,strType)
{
	var strMsg = "";
	var arrType = strType.split( " " );
	
	for( var i = 0; i < arrType.length; i++ )
	switch( arrType[i] )
	{
		case "AlphaNumeric" :
			if( !isAlphaNumeric( strValue ) )
				strMsg = '"' + strDescription + '"\n';
			break;
		
		case "Date" :	//
			if( !isDate( strValue ) ) 
				strMsg = '"' + strDescription + '"2001-10-1\n';
			break;
			
		case "Email" :	//
			if( !isEmail( strValue ) )
				strMsg = '"' + strDescription + '"webmaster@yysoft.com\n';
			break;
			
		case "NotEmpty" :	//
			if( isEmpty( strValue ) )
				strMsg = '"' + strDescription + '"\n';
			break;
			
		case "Numeric" :	//
			if( !isNumeric( strValue )  )
				strMsg = '"' + strDescription + '"\n';
			break;
			
		case "Money" :	//
			if( !isMoney( strValue )  )
				strMsg = '"' + strDescription + '"123,456.789\n';
			break;
				
		case "Phone" :	//
			if( !isPhone( strValue ) )
				strMsg = '"' + strDescription + '"(0755)1234567-999\n';
			break;
		
		case "PostalCode" :	//
			if( !isPostalCode( strValue ) )
				strMsg = '"' + strDescription + '"\n';
			break;
			
		case "URL" :	//
			if( !isURL( strValue ) )
				strMsg = '"' + strDescription + '"\n';
			break;
			
		default :	//
			if( arrType[i].charAt( 0 ) == 'L' )
			{
				if( !checkLength( strValue, arrType[i] ) )
					strMsg = '"' + strDescription + '"' + arrType[i].substr(1) + '\n';
			}
			else
				strMsg = '"' + strDescription + '""' + strType + '"\n';
	}

	return strMsg;
}

function Validate( strName, strDescription, strType)
{
	var strMsg = "";
	var strValue = document.all( strName ).value.trim();

	strMsg = ValidateKernel(strValue,strDescription,strType);

	return strMsg;
}

function ValidateFld( fldVal, strDescription, strType)
{
	var strMsg = "";
	var strValue = fldVal;

	strMsg = ValidateKernel(strValue,strDescription,strType);

	return strMsg;
}



function confirm_delete( url )
{
	if( confirm( "您确实要删除吗?" ) )
	{
		window.location = ( url )
	}
}

function goToURL( url )
{
	window.location = url;
}
function goToOpenURL( url )
{
	window.open( url );
	return  false;
}
function openNewWin( url, width, height )
{
	var newwin = window.open( url, "NewWin", "toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,scrollbars=yes,width=" + width + ",height=" + height +"" );
	newwin.focus();
	return false;
}

function openDialog( url, width, height)
{	
	showModalDialog( url, "NewWin","dialogWidth:"+ width +";dialogHeight:"+ height +";dialogTop:100;dialogLeft:200;status:no;");
}

var checkboxflag = "false";
function check(field) 
{
	if (checkboxflag == "false") 
	{
		if(field.length == null)	
		{
			if (field.disabled != true)
			{
				field.checked = true;
			}
		}
		else
		{
			for (i = 0; i < field.length; i++) 
			{
				if (field[i].disabled != true)	
				{
					field[i].checked = true;
				}
			}
		}
		checkboxflag = "true";
		return "全反选"; 
	}
	else 
	{
		if(field.length == null)	
		{
			if (field.disabled != true)
			{
				field.checked = false;
			}
		}
		else
		{
			for (i = 0; i < field.length; i++) 
			{
				if (field[i].disabled != true)
				{
					field[i].checked = false; 
				}	
			}
		}
		checkboxflag = "false";
		return "全选"; 
	}
}

//Added By tianjincat 2002-04-01
function chkinverse(field)
{
	if(field.length == null)	
	{
		if (field.disabled != true)
		{
			if(field.checked == true)
			{
				field.checked = false;
			}
			else
			{
				field.checked = true;
			}
		}	
	}
	else
	{
		
		for(i = 0; i < field.length; i++)
		{
			if (field[i].disabled != true)
			{
				if(field[i].checked == true)
				{
					field[i].checked = false;
				}
				else
				{
					field[i].checked = true;
				}	
			}
		}
	}	
	return "反选"
}

function ActionConfirm(form,msg,field) 
{
	var flag=0;
	var truthBeTold;

	if(field==null)
		return;

	for(i = 0; i < field.length; i++)
		{
			if (field[i].disabled != true)
			{
				if(field[i].checked == true)
				{
					flag=1;
				}
			}
		}

	if(field.length == null)	
	{
		if(field.checked == true)
		{
			flag=1;
		}		
	}

	if (flag==0)
	{
		alert("please select record!");
		if(typeof(form.actionId) != "undefined")
			form.actionId.value = "";
	}
	else
	{
		truthBeTold =window.confirm("您确实要["+msg+"]?");
		if (truthBeTold) {
			//form.DoType.value=msg;
			form.submit();
			flag = 1;
		} 
		else
		{
			if(typeof(form.actionId) != "undefined")
				form.actionId.value = "";
		}
	}

}

function ActionSubmit(form,msg) 
{
	var truthBeTold;
	truthBeTold =window.confirm(""+msg+"");
	if (truthBeTold) {
		form.submit();
	}

}

function FormSubmit(form) 
{

		form.submit();
}