// hello()
function hello(msg){
document.write(msg)
}

// isBlank()
function isBlank(charToCheck){
var i;
var charCode;
for (i = 0; i < charToCheck.length; i++) {
  charCode = charToCheck.charAt(i);
  if (( charCode != ' ') && (charCode != '\n') && (charCode != '\t')) {
    return false;
  }	
}
return true;	
}

// isNumeric() - check numeric type
function isNumeric(charToCheck){
var i;
var retval = true;
	
for (i=0; i <= charToCheck.length - 1; i++) {
  var charCode = charToCheck.charCodeAt(i);
  if (charCode >= "0".charCodeAt(0) && charCode <= "9".charCodeAt(0)) {
    continue; // 0-9 are valid data, continue
  }
  else if ((charCode == ",".charCodeAt(0)) || (charCode == "-".charCodeAt(0))) {	
    continue; // comma and minus are valid data, continue
  }
  else {	
    retval = false;
    break;
  }					
}
return retval;
}

// isAlphaNumeric() - check alphanumeric type
function isAlphaNumeric(charToCheck){
var i;
var retval = true;
	
for (i=0; i <= charToCheck.length - 1; i++) {
  var charCode = charToCheck.charCodeAt(i);
  if (charCode >= " ".charCodeAt(0) && charCode <= "~".charCodeAt(0)) {
    continue; // 0-9, a-z, A-Z are valid data, continue
  }
  else {	
    retval = false;
    break;
  }					
}
return retval;
}

// isCurrency() - check currency type
function isCurrency(charToCheck){
var i;
var retval = true;

for (i=0; i <= charToCheck.length - 1; i++) {
  var charCode = charToCheck.charCodeAt(i);		
  if (charCode >= "0".charCodeAt(0) && charCode <= "9".charCodeAt(0)) {
    continue; // only 0-9 are valid data, continue
  }
  else if ((charCode == ",".charCodeAt(0)) || (charCode == "-".charCodeAt(0))) {	
    continue; // comma and minus are valid data, continue
  }
  else {	
    retval = false;
    break;
  }					
}
return retval;
}

// isCurrency2() - check currency type マイナス入力不可
function isCurrency2(charToCheck){
var i;
var retval = true;

for (i=0; i <= charToCheck.length - 1; i++) {
  var charCode = charToCheck.charCodeAt(i);		
  if (charCode >= "0".charCodeAt(0) && charCode <= "9".charCodeAt(0)) {
    continue; // only 0-9 are valid data, continue
  }
  else if ((charCode == ",".charCodeAt(0))) {	
    continue; // comma are valid data, continue
  }
  else {	
    retval = false;
    break;
  }					
}
return retval;
}	

// isDate() - check date type (YYYYMMDD) or (YYYY/MM/DD)
function isDate(dateToCheck){
var i;
var retval = true;	
var charToCheck = trimSlash(dateToCheck);

if (charToCheck.length == 8) {
  if (isNumeric(charToCheck)) {		
    // 01234567
    // YYYYMMDD			
    var intYYYY = parseFloat(charToCheck.substr(0,4));	// Do not use parseInt() due to Bug
    var intMM = parseFloat(charToCheck.substr(4,2));	// Do not use parseInt() due to Bug
    var intDD = parseFloat(charToCheck.substr(6,2));	// Do not use parseInt() due to Bug
		
    if ((intYYYY < 2000) || (intYYYY > 2999)) 
      return false;			
    if ((intMM < 1) || (intMM > 12)) 
      return false;			
    if ((intDD < 1) || (intDD > 31)) 
      return false;
    // check to see if dd is 28,29,30,31
    var dtmDate = new Date(intYYYY,intMM-1,intDD);
    if ((intYYYY != dtmDate.getYear()) || 
      (intMM-1 != dtmDate.getMonth()) ||
      (intDD != dtmDate.getDate())) {
      return false;
     }
   }
   else {
     return false;
   }
}
else {
   return false;
}	
return true;
}

// isTime() - cehck time type (hhmm) or (hh:mm)
function isTime(timeToCheck){
var i;
var retval = true;	
var charToCheck = trimColon(timeToCheck);

if (charToCheck.length == 4) {
  if (isNumber(charToCheck)) {		
    // 0123
    // HHMM			
    var intHH = parseFloat(charToCheck.substr(0,2));	// Do not use parseInt() due to Bug
    var intMM = parseFloat(charToCheck.substr(2,2));	// Do not use parseInt() due to Bug
			
    if ((intHH < 0) || (intHH >= 24)) 
      return false;			
    if ((intMM < 0) || (intMM >= 60)) 
      return false;			
  }
  else {
    return false;
  }
}
else {
  return false;
}	
return true;
}


// formatNumber() 123456 ==> 123,456
function formatNumber(elemToFormat){
var i;
var figures = 0;
var retval = "";

if (isNaN(elemToFormat.value)) 
  return false;

var charToFormat = elemToFormat.value;	
charToFormat = trimComma(charToFormat);	// remove all commas
for (i = charToFormat.length - 1; i >= 0; i--) {
  var charCode = charToFormat.charAt(i);
  retval = charCode + retval;		
  figures++;
  if ((figures % 3) == 0) 
    retval = "," + retval;			
}
if (retval.charAt(0) == ",")
  elemToFormat.value = retval.substring(1);		// strip first comma
else if ((retval.charAt(0) == "-") && (retval.charAt(1) == ","))
  elemToFormat.value = "-" + retval.substring(2);	// strip second comma
else		
  elemToFormat.value = retval;
return true;	
}

// formatCurrency() 123456 ==> 123,456
function formatCurrency(elemToFormat){
var i;
var figures = 0;
var retval = "";

if (isNaN(elemToFormat.value)) 
  return false;

var charToFormat = elemToFormat.value;	
charToFormat = trimComma(charToFormat);	// remove all commas
for (i = charToFormat.length - 1; i >= 0; i--) {
  var charCode = charToFormat.charAt(i);
  retval = charCode + retval;		
  figures++;
  if ((figures % 3) == 0) 
    retval = "," + retval;			
}
if (retval.charAt(0) == ",")
  elemToFormat.value = retval.substring(1); // strip first comma
else if ((retval.charAt(0) == "-") && (retval.charAt(1) == ","))
  elemToFormat.value = "-" + retval.substring(2); // strip second comma
else		
  elemToFormat.value = retval;
return true;	
}

// formatDate() 20010610 ==> 2001/06/10
function formatDate(elemToFormat){
var i;
var figures = 0;
var retval = "";

if (!isDate(elemToFormat.value))
  return false;	

var charToFormat = elemToFormat.value;
charToFormat = trimSlash(charToFormat);	// remove all slashs	 
retval = charToFormat.substr(0,4) + "/" 
  + charToFormat.substr(4,2) + "/" 	
  + charToFormat.substr(6,2);  
elemToFormat.value = retval;
return true;	
}

// formatDate2() 010610 ==> 01/06/10
function formatDate2(elemToFormat){
var i;
var figures = 0;
var retval = "";

//if (!isDate(elemToFormat.value))
//  return false;	

var charToFormat = elemToFormat.value;
charToFormat = trimSlash(charToFormat);	// remove all slashs	 
retval = charToFormat.substr(0,2) + "/" 
  + charToFormat.substr(2,2) + "/" 	
  + charToFormat.substr(4,2);  
elemToFormat.value = retval;
return true;	
}

// formatTime() 0900 ==> 09:00
function formatTime(elemToFormat){
var i;
var figures = 0;
var retval = "";

if (!isTime(elemToFormat.value))
  return false;

var charToFormat = txtToFormat.value;
charToFormat = trimColon(charToFormat);	// remove colon
retval = charToFormat.substr(0,2) + ":" 
  + charToFormat.substr(2,2);  
elemToFormat.value = retval;
return true;	
}


// trimComma() 123,456 ==> 123456
function trimComma(charToTrim){
  return charToTrim.replace(/,/g,"");
}

// trimColon() hh:mm ==> hhmm
function trimColon(charToTrim){
  return charToTrim.replace(/:/,"");
}

// trimSlash() yyyy/mm/dd ==> yyyymmdd
function trimSlash(charToTrim){
  return charToTrim.replace(/\//g,"");
}
/*----------------*/
/*  桁数チェック  */
/*----------------*/
function fCheckLength(obj,lLength){

    count = 0;
	for (i=0; i<obj.length; i++)
	{
		n = escape(obj.charAt(i));
		if (n.length < 4) count++; else count+=2;
	}
	 
	
	if (count > lLength){
		alert(lLength + "桁以内の値を入力して下さい。");
		obj.focus();
	}
	
}
/*-------------------*/
/*  バイト数チェック  */
/*-------------------*/
function getByte(text)
{
	count = 0;
	for (i=0; i<text.length; i++)
	{
		n = escape(text.charAt(i));
		if (n.length < 4) count++; else count+=2;
	}
	return count;
}

/*-------------------*/
/*  Ｅメールチェック */
/*-------------------*/
function ChkEmail(email) {	// OK→true NG→false

	var chkStr =/^(\S+)@(\S+\.\S+)$/;		//形式がaaa@aaa.com
	var chkuserStr =  new Array();				
		chkuserStr[0]=/[^a-zA-Z0-9\._-]/;		//英数かどうか
		chkuserStr[1]=/^[\.]/;					//.で始まってないか
		chkuserStr[2]=/[\.]$/;					//	.で終わってないか
		chkuserStr[3]=/\.{2}/;					//	.が2個以上つながってないか
		chkuserStr[4]=/^.+\..+\..+$/;			//.が2個以上ないか（ユーザー名のみ）
		
	
	var arrEmail = email.match(chkStr);		//形式チェック

	if(arrEmail == null){
		//alert ("メールアドレスが間違っています");
		return false;
	}
	
	//ユーザー名チェック
	if(arrEmail[1].length < 3){
		//alert ("ユーザー名の文字数が間違っています");
		return false;
	}
	for(i=0;i<5;i++){
		if(arrEmail[1].match(chkuserStr[i])!=null){
			//alert ("ユーザー名が間違っています");
			return false;
		}	
	}
	//ドメイン名チェック
	if(arrEmail[2].length < 4){
			//alert ("ドメイン名の文字数が間違っています");
		return false;
	}
	for(i=0;i<4;i++){
		if(arrEmail[2].match(chkuserStr[i])!=null){
			//alert ("ドメイン名が間違っています");
			return false;	
		}	
	}
	return true;
}
/*-----------------------*/
/*  ＨＰアドレスチェック */
/*-----------------------*/
function ChkHPAdress(number){	// OK→true NG→false
	var num=number.indexOf("http://");
	if(num != 0){
		//alert("先頭にhttp://がありません。");
		return false;
	}
	return true;
}
/*-------------------*/
/*  電話番号チェック */
/*-------------------*/
function ChkPhone(number){	// OK→true NG→false
	var num=number.match(/^[0-9-]{6,9}$|^[0-9-]{11,12}$/);
	var num2=number.match(/^\d{1,4}-\d{4}$|^\d{2,5}-\d{1,4}-\d{4}$/);
	if(!num || !num2){
		//alert("電話番号が違います。");
		return false;
	}
	return true;
}
/*-------------------*/
/*  郵便番号チェック */
/*-------------------*/
function ChkPost(number){	// OK→true NG→false
	var num=number.match(/^\d{3}-\d{4}$|^\d{3}-\d{2}$|^\d{3}$/);
	if(!num){
		//alert("郵便番号が違います。");
		return false;
	}
	return true;
}
/*-----------------*/
/*  改行コード削除 */
/*-----------------*/
function RetDeleted(targetstring) {
  if (targetstring.indexOf(unescape('%0D%0A')) > -1) rcode = unescape('%0D%0A')
  else if (targetstring.indexOf(unescape('%0A')) > -1) rcode = unescape('%0A')
  else rcode = unescape('%0D');
  i = 0;
  p = '';
  while (targetstring.indexOf(rcode,i) != -1) {
    m = targetstring.indexOf(rcode,i);
    p += targetstring.substring(i,m);
    i = m + rcode.length;
  }
  p += targetstring.substring(i,targetstring.length);
  return p;
}

