//スペースを削除
function Trim(s)
{
  var sTmpStr = ' ';
  var i = -1;

  while(sTmpStr == ' ')
  {
     ++i;
     sTmpStr = s.substr(i,1);
  }
  s = s.substring(i);

  sTmpStr = ' ';
  i = s.length;
  while(sTmpStr == ' ')
  {
    --i;
    sTmpStr = s.substr(i,1);
  }
  s = s.substring(0,i+1);
  
  return s;
}

//nullのチェック
function isEmpty(s)    
{ 
  if ((s == null)||Trim(s).length == 0)
  return true; 
}

//数字のチェック
function isNumber(s){
 strRef = "1234567890";
 if (isEmpty(s) == true){
    return false;
 }
 for (i=0;i<s.length;i++) {
  tempChar= s.substring(i,i+1);
  if (strRef.indexOf(tempChar,0)==-1) {
     return false; 
  }
 }
 return true;
}

function isFloat(s){
 strRef = "1234567890.";
 if (isEmpty(s) == true){
    return false;
 }
 for (i=0;i<s.length;i++) {
  tempChar= s.substring(i,i+1);
  if (strRef.indexOf(tempChar,0)==-1) {
     return false; 
  }
 }
 if (s.substring(0,1) == "." ||  s.substring(s.length - 1,s.length) == "."){
    return false;
 } 
 
 return true;
}

function char_test(chr) 
//英文字チェック関数 
{ 
var i; 
var smallch="abcdefghijklmnopqrstuvwxyz"; 
var bigch="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
for(i=0;i<26;i++) 
  if(chr==smallch.charAt(i) || chr==bigch.charAt(i)) 
    return(1); 
return(0); 
} 

function spchar_test(chr) 
//数字と特殊キャラクタチェック関数 
{ 
var i; 
var spch="_-.0123456789"; 
for (i=0;i<13;i++) 
   if(chr==spch.charAt(i)) 
    return(1); 
return(0); 
} 

//メールアドレスのチェック
function ismail(str) 
{ 
var i,flag=0; 
var at_symbol=0; //@の位置 
var dot_symbol=0; //.の位置 

strTrim = Trim(str);

if (isEmpty(strTrim))
{
  alert("メールアドレスが入力されていません。"); 
  return false;
}

if (strTrim.length> 128)
{
  alert("メールアドレスの長さが長すぎます。");
  return false;
}



//@の位置 
for (i=1;i<strTrim.length;i++) 
  if(strTrim.charAt(i)=='@') 
    { 
    at_symbol=i; 
    break; 
    } 

//ドメインのチェック
if(at_symbol==strTrim.length-1 || at_symbol==0)
{
  alert("メールアドレスがが正しくありません。");
  return(false); 
}

//accountのチェック
if((at_symbol<2) || (at_symbol>50 ))
{
  alert("メールアドレスがが正しくありません。");
  return(false); 
}  


//特殊文字のチェック
for(i=1;i<at_symbol;i++) 
  if(char_test(strTrim.charAt(i))==0 && spchar_test(strTrim.charAt(i))==0) 
  {
    alert("メールアドレスがが正しくありません。");
    return(false); 
  }  
for(i=at_symbol+1;i<strTrim.length;i++) 
  if(char_test(strTrim.charAt(i))==0 && spchar_test(strTrim.charAt(i))==0) 
  {
    alert("メールアドレスがが正しくありません。");
    return(false); 
  }  
  
//.のチェック    
for(i=at_symbol+1;i<strTrim.length;i++) 
  if(strTrim.charAt(i)=='.') dot_symbol=i; 
for(i=at_symbol+1;i<strTrim.length;i++)  
  if(dot_symbol==0 || dot_symbol==strTrim.length-1) 
  {
    alert("メールアドレスがが正しくありません。");
    return(false); 
  }  

//OK   
return (true);  

} 

//重複submitのチェック
var repeatSubmit = false;
function checkReSubmit()
{
  if (repeatSubmit)
  {
    return false;
  }
  else
  {
   repeatSubmit = true;
   return true;
  }

}



