function validpassword( pass1, pass2 )
{
	var allValid = true;
	
		
	if( pass1=="" )
	{
		alert("please input password!");
		return false;
	}

	if( pass2=="" )
	{
		alert("please confirm password!");
		return false;
	}
	
	if( pass1.length < 6 )
	{
		alert("password must be at least six characters!");
		return false;
	}

	if( pass1.length != pass2.length )
	{
		alert("the length of the password does not match!");
		return false;
	}
	for(i=0;i<pass1.length;i++)
	{
		if( pass1.charAt(i) != pass2.charAt(i) )
		{
			alert("password does not match!");
			allValid = false;
			break;
		}
	}
	return allValid;		
}

function InputValid(d_input,d_notnull,d_type,d_limited, d_low, d_up,d_str)
{
  if ( d_input.length >1 )
  {
    var obj=d_input;
    var m;
    m=d_input.length;
	 m=m.toString();
	 for( var i=0; i<m ; i++ )
	 {
		if( !InputValid_A( obj[i],d_notnull,d_type,d_limited, d_low, d_up,d_str ) ) {
		   return (false);
		}
	 }
  }
  else
  {
      if ( !InputValid_A( d_input,d_notnull,d_type,d_limited, d_low, d_up,d_str ) )
   	   return false;
  }
  return true;
}


function Trim(strValue) {
var intLen = strValue.length;
var intCnt;
for (intCnt = 0; intCnt < intLen; intCnt++) {
if (strValue.indexOf(' ') == 0) {
strValue=strValue.substring(1, intLen);
}else if (strValue.indexOf(' ') == 0) {
strValue=strValue.substring(1, intLen);
}else if (strValue.indexOf('') == 0) {//TAB
strValue = strValue.substring(1, intLen);
}else {
break;
}
}
intLen = strValue.length;
for (intCnt = intLen; intCnt > 0; intCnt--) {
if (strValue.lastIndexOf(' ') == intCnt - 1 ) {
strValue = strValue.substring(0, intCnt - 1 );
}else if (strValue.lastIndexOf(' ') == intCnt - 1) {
strValue = strValue.substring(0, intCnt - 1 );
}else if (strValue.lastIndexOf('') == intCnt - 1) {//TAB
strValue = strValue.substring(0, intCnt - 1 );
}else {
break;
}
intLen = strValue.length;
}
return strValue;
}


function jtrim(sstr)
{
var astr="";
var dstr="";
var flag=0;
for (i=0;i<sstr.length;i++)
{if ((sstr.charAt(i)!=' ')||(flag!=0))
{dstr+=sstr.charAt(i);
flag=1;
}
}
flag=0;
for (i=dstr.length-1;i>=0;i--)
{if ((dstr.charAt(i)!=' ')||(flag!=0))
{astr+=dstr.charAt(i);
flag=1;
}
}
dstr="";
for (i=astr.length-1;i>=0;i--) dstr+=astr.charAt(i);
return dstr;
}


function InputValid_A(d_input,d_notnull,d_type,d_limited, d_low, d_up,d_str )
{


   if ( d_notnull==1 && jtrim(d_input.value).length ==0 )
    {
       alert(" must input " + d_str );
       d_input.focus();
       return (false);
    }
    
// "int"
	if (d_type=="int")
	{
		if ( !isInt(d_input.value))
	    {
			alert( d_str+ " can only be integer!");
			d_input.focus();
			return (false);
	    }
		if  ( d_limited==1 && !(d_low<=d_input.value && d_input.value <= d_up))
		{
			alert(d_str+ ":value must between "+ d_low + " and  "+ d_up +".");
         d_input.focus();
			return (false);
		}
		return true;
	} 

// "float"
	if (d_type=="float")
	{
		if ( !isFloat(d_input.value))
	    {
			alert( d_str+" only number and point allowed!" );
			d_input.focus();
			return (false);
	    }
	    if  ( d_limited==1 && !( d_low <=d_input.value && d_input.value <= d_up))
		{
			alert(d_str+ ":value must between "+ d_low + " and "+ d_up +".");
         d_input.focus();
			return (false);
		}
		return true;
	}

// "string"
	if (d_type=="string")
	{
		if(d_limited==1){
			if ( (d_low == d_up)&& (d_input.value.length != d_low) ) {
				alert( d_str+ ":the length must be "+ d_low +"." );
				d_input.focus();
				return (false);
			}
			else if(!(d_low<=d_input.value.length && d_input.value.length <= d_up)){
				alert(d_str+ ":the length must between "+ d_low + " and "+ d_up +".");
				d_input.focus();
				return (false);
			}
			if  (/[\'\"\#\^\&]/g.test(d_input.value))
			{
				alert(d_str+ " :found invalid characters here!");
			    d_input.focus();
				return (false);
			}
		}
		return (true);
	}
	// "string"
	if (d_type=="english")
	{
		if(d_limited==1){
			if ( (d_low == d_up)&& (d_input.value.length != d_low) ) {
				alert( d_str+ ":the length must be "+ d_low +" ." );
				d_input.focus();
				return (false);
			}
			else if(!(d_low<=d_input.value.length && d_input.value.length <= d_up)){
				alert(d_str+ ":the length must between "+ d_low + " and "+ d_up +" .");
				d_input.focus();
				return (false);
			}
			if(/[^0-9a-zA-Z., \-&]/g.test(d_input.value))

			{
				alert(d_str+ " only numbers and characters allowed!");
			    d_input.focus();
				return (false);
			}
		}
		return (true);
	}
	
	// "chinese"
	if (d_type=="english")
	{
		if(d_limited==1){
			if ( (d_low == d_up)&& (d_input.value.length != d_low) ) {
				alert( d_str+ ":the length must be "+ d_low +" ." );
				d_input.focus();
				return (false);
			}
			else if(!(d_low<=d_input.value.length && d_input.value.length <= d_up)){
				alert(d_str+ ":the length must between "+ d_low + " and "+ d_up +" .");
				d_input.focus();
				return (false);
			}
			if(/[^\u4E00-\u9FA5]/g.test(d_input.value))

			{
				alert(d_str+ " only chinese allowed! ");
			    d_input.focus();
				return (false);
			}
		}
		return (true);
	}
	
	//if  (/[\'\"\#\^\&]/g.test(d_input.value))
//if(/[^0-9a-zA-Z]/g.test(this.value))alert('ÓÐ´í')
if (d_type=="stringFormat")
	{
		if(d_limited==1){
			if ( (d_low == d_up)&& (d_input.value.length != d_low) ) {
				alert( d_str+ ":the length must be "+ d_low +" ." );
				d_input.focus();
				return (false);
			}
			else if(!(d_low<=d_input.value.length && d_input.value.length <= d_up)){
				alert(d_str+ ":the length must between "+ d_low + " and"+ d_up +" .");
				d_input.focus();
				return (false);
			}			
		}
		return (true);
	}
// "date"
	if (d_type=="date")
	{
    	if(d_limited==1){
            if ( (!isDate(d_input.value)) || (d_input.value.length != 10) )
            {
                alert(""+d_str+":wrong date format!");
                d_input.focus();
                return (false);
            }
	    }
    	if(d_limited==0){
    	    if(d_input.value.length>0){
                if ( (!isDate(d_input.value)) || (d_input.value.length != 10) )
                {
                    alert(""+d_str+":wrong date format!");
                    d_input.focus();
                    return (false);
                }
            }
	    }

	    return (true);
	}
// "time"
	if (d_type=="time")
	{
	    if ( (!isTime(d_input.value)) || (d_input.value.length != 5) )
	    {
			alert(""+d_str+":wrong time format!");
			d_input.focus();
			return (false);
	    }	
	    return (true);
	}

// "email"
	if (d_type=="email")
	{
	   if (d_notnull==0 && d_input.value.length==0) return (true);
       if ( !isEmail(d_input.value))
	    {
			alert(""+d_str+":please input valid email !");
			d_input.focus();
			return (false);
	    }	
		return (true);
	}

// "fax"
	if (d_type=="fax")
	{
		//is int
	    if ( !isFax(d_input.value))
	    {
			alert(d_str+":only number and '-' allowed here! ");
			d_input.focus();
			return (false);
	    }
		//limit
		if  ( d_limited==1 && !(d_low<=d_input.value.length && d_input.value.length <= d_up))
		{
			alert(d_str+ ":the lenght must between "+ d_low + " and  "+ d_up +" .");
         d_input.focus();
			return (false);
		}
		return true;  
	}

     // auto
	if (d_type=="auto")
	{
		//limit
		if  ( d_input.value==0 )
		{
			alert( "please input " + d_str );
			return (false);
		}
		return true;  
	} 
	
// "zip"
	if (d_type=="zip")
	{
	    if ( !isInt(d_input.value) )
	    {
			alert(d_str+" can be number only");
			d_input.focus();
			return (false);
	    }
		if  ( d_limited==1 ){
			if ( (d_low == d_up)&& (d_input.value.length != d_low) ) {
				alert( d_str+ ":the lenght must be "+ d_low +" ." );
         	d_input.focus();
				return (false);
			}
			else {
				if ( (d_low < d_input.value.length && d_input.value.length > d_up))
				{
					alert(d_str+ ":the lenght must be no more than "+ d_up +".");
         		d_input.focus();
					return (false);
				}
			}
		}
		return true;  
	}

	return (true);
}


function isInt( d_int)
{
		var checkOK = "0123456789-,";
		var checkStr = d_int;
		var allValid = true;
		var decPoints = 0;
		var allNum = "";
		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
			break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
		if (ch != ",")
			allNum += ch;
		}
		return (allValid)
 }

function isFloat( d_float)
{
		var checkOK = "0123456789-,.";
		var checkStr = d_float;
		var allValid = true;
		var decPoints = 0;
		var allNum = "";
		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
			break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			if ( (ch == '-') && (i!=0) )			
			{
				allValid = false;
				break;
			}			
			if (ch != ",")
				allNum += ch;				
			if (ch == ".")
				decPoints += 1;				
		}				
		if ( decPoints > 1 )
		{
			allValid = false;
		}
		return (allValid)
}

function isDate( d_date)
{		
		var checkStr = d_date;

		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			if ((i==4) || (i==7)) 
			{
				if ( ch!='-' )
				{
					return (false);
				}
			}
			else
			{
				if (ch<'0' || ch > '9')
				{
					return (false);
				}
				if ( (i==5 && ch>'1')||(i==8 && ch>'3') ) {
   				return (false);
				}
			}									
		}				
		return (true);
}
function isTime( d_time)
{		
		var checkStr = d_time;
		var hour1='0';
		var hour2='0';
		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			if (i==2) 
			{
				if ( ch!=':' )
				{
					return (false);
				}
			}
			else
			{
				if (ch<'0' || ch > '9')
				{
					return (false);
				}
				if ( (i==0 && ch>'2')||(i==3 && ch>'5') ) 
				{
   					return (false);
				}
				if(i==0)
				{
					hour1=ch;
				}
				if(i==1)
				{
					hour2=ch;				
				}
				if((hour1=='2')&&(hour2>'3'))
				{
					return (false);
				}
			}		
							
		}				
		return (true);
}
function isEmail( d_email)
{		
		var checkStr = d_email;
		var emailtag = false;
		var emaildot=0
		var emailat=0
		
		if (checkStr.length<6) return (false);
		
		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			
			if (ch=='@') emailat++;	
			if (ch=='.') emaildot++;	
		}				
		
		if (( emailat==1 ) && ( emaildot>=1 )) 
		{
		emailtag = true;
		}
		return (emailtag);  	
}

function isFax( d_int)
{
		var checkOK = "0123456789 -()";
		var checkStr = d_int;
		var allValid = true;
		var decPoints = 0;
		var allNum = "";

		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
			break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			if (ch != ",")
			allNum += ch;
		}
		return (allValid)
}

function adv_format(value,num) //
{
var a_str = formatnumber(value,num);
var a_int = parseFloat(a_str);
if (value.toString().length>a_str.length)
{
var b_str = value.toString().substring(a_str.length,a_str.length+1)
var b_int = parseFloat(b_str);
if (b_int<5)
{
return a_str
}
else
{
var bonus_str,bonus_int;
if (num==0)
{
bonus_int = 1;
}
else
{
bonus_str = "0."
for (var i=1; i<num; i++)
bonus_str+="0";
bonus_str+="1";
bonus_int = parseFloat(bonus_str);
}
a_str = formatnumber(a_int + bonus_int, num)
}
}
return a_str
}

function formatnumber(value,num) //
{
var a,b,c,i
a = value.toString();
b = a.indexOf('.');
c = a.length;
if (num==0)
{
if (b!=-1)
a = a.substring(0,b);
}
else
{
if (b==-1)
{
a = a + ".";
for (i=1;i<=num;i++)
a = a + "0";
}
else
{
a = a.substring(0,b+num+1);
for (i=c;i<=b+num;i++)
a = a + "0";
}
}
return a
}





