function ktExMenu(tName,Max,tType)
{
  oType = ( tType == "A" ) ? "B" : "A";
  for (i = 1; i <= Max ; i++) {
     NameM = "openMenu" + tType + i;
     NameN = "openMenu" + oType + i;
     if( tName == NameM ){
      document.getElementById(NameM).style.display = 'block';
      document.getElementById(NameN).style.display = 'none';
     } else {
      document.getElementById(NameM).style.display = 'none';
      document.getElementById(NameN).style.display = 'none';
     }
  }
}

function ktCloseMenu(cName)
{
      document.getElementById(cName).style.display = 'none';
}

/* ケータイへURLを送るリンクが押された場合 */
function ktShowForm(title, url, id, msg) {
    // 中のHTML
    var src = '';
    src += '<table cellpadding="0" cellspacing="0"class="input_email_tb"><tr><td>';
    src += '<p class="spb5"><strong>'+title+'</strong>のURLをメールで送信します。</p>';
    src += '<p class="spb10">携帯のメールアドレスを入力して「送信」してください。<br />';
    src += '<span class="mobile-category-ktaiqr-list-ktai-box-smalltext">※ドメイン指定受信を行っている方は「usr.auone.jp」からのメールを受信できるように設定してください。</span></p>';
    src += '<form action="" name="mForm'+ id +'" method="post" id="mForm'+ id +'">';
    src += '<p class="mobile-category-ktaiqr-list-ktai-box-input clearfix">携帯メールアドレス&nbsp;';
    src += '<input type="hidden" name="url" value="'+url+'" />';
    src += '<input type="hidden" name="title" value="'+title+'" />';
    src += '<input type="text" name="address" style="width:80px;" />';
    src += '&nbsp;@ezweb.ne.jp&nbsp;';
    src += '<input type="button" value="送信" onclick=\"ktCheckForm('+id+');\" />';
    src += '<span><a href="javascript:ktCloseMenu(\'openMenuA'+id+'\')">×閉じる</a></span></p>';

    // メッセージがあるときのみ追加
    if(msg){
        src += '<p class="caution">' + msg + '</p>';
    }
    
    // 書き換え
    document.getElementById("SendMobileAddress"+id).innerHTML= src;         
}

/* 入力チェック→OKならば送信へNGならばエラーを表示 */
function ktCheckForm(id) {
    if(document.getElementById("mForm"+id).address.value == ""){
        url   = new String(document.getElementById("mForm"+id).url.value);
        title = new String(document.getElementById("mForm"+id).title.value);
        ktShowForm(title, url , id, 'メールアドレスを入力してください。');
    } else {
        ktStringPost(id);
    }
    return false;
}

/* メール送信が成功した場合 */
function ktSuccessDisplay(id) {
    title = new String(document.getElementById("mForm"+id).title.value);
 
    // 中のHTML
 var src = '';
 src += '<table cellpadding="0" cellspacing="0"class="input_email_tb"><tr><td>';
 src += '<p class="spb5"><strong>'+title+'</strong>のURLを送信しました。</p>';
 src += '<p class="tright"><a href="javascript:ktCloseMenu(\'openMenuA'+id+'\')">×閉じる</a></p>';
 src += '</td></tr></table>';

    // 書き換え
    document.getElementById("SendMobileAddress"+id).innerHTML = src;
}

/* メール送信が失敗した場合 (要件上、メール送信成功と同じデザインとする) */
function ktSendErrorDisplay(id) {
    title = new String(document.getElementById("mForm"+id).title.value);
    
    // 中のHTML
 var src = '';
 src += '<table cellpadding="0" cellspacing="0"class="input_email_tb"><tr><td>';
 src += '<p class="spb5"><strong>'+title+'</strong>のURLを送信しました。</p>';
 src += '<p class="tright"><a href="javascript:ktCloseMenu(\'openMenuA'+id+'\')">×閉じる</a></p>';
 src += '</td></tr></table>';
    
    // 書き換え
    document.getElementById("SendMobileAddress"+id).innerHTML= src;    
}

/* サービス停止中の場合 */
function ktSendStopDisplay(id) {
    // 中のHTML
    var src = '';
 src += '<table cellpadding="0" cellspacing="0"class="input_email_tb"><tr><td>';
 src += '<p class="spb5">現在サービスを利用いただけません。</p>';
 src += '<p class="tright"><a href="javascript:ktCloseMenu(\'openMenuA'+id+'\')">×閉じる</a></p>';
 src += '</td></tr></table>';

    // 書き換え
    document.getElementById("SendMobileAddress"+id).innerHTML = src;
}

/* 送信 */
function ktStringPost(id){
    // idをグローバルにする
    fid = id;
    // パラメータの取得と設定
    var strKey1 = new String(document.getElementById("mForm"+id).url.value);
    var strKey2 = new String(document.getElementById("mForm"+id).address.value);
    postValue = "key1=" + encodeURIComponent(strKey1) + "&key2=" + encodeURIComponent(strKey2);
    // 通信と通信結果の取得
    obj = ktCreateXMLHttpRequest();
    obj.onreadystatechange = ktStatusCheck;
    obj.open("POST", "http://k-tai.auone.jp/mail", true);
    obj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
    obj.send(postValue);
}

/* 結果 */
function ktStatusCheck(){
    if (obj.readyState == 4){
        if (obj.status == 200){
            var resTxt = obj.responseText;
            if(resTxt != null){
                var res = ktGetResponseValue(resTxt, "<div id=\"successDisplayStatus\">", "<\/div>");
                if(res=="success"){
                    ktSuccessDisplay(fid);
                } else if(res=="stop"){
                    ktSendStopDisplay(fid);
                } else {
                    ktSendErrorDisplay(fid);
                }
            } else {
                ktSendErrorDisplay(fid);
            }
        } else {
            ktSendErrorDisplay(fid);
        }
    }
}

/* html解析 */
function ktGetResponseValue(resTxt, startTag, endTag){
    var txt = "";
    
    var start_attr = resTxt.indexOf(startTag);
    if(start_attr == -1){
        return txt;
    }
    
    var start_value = resTxt.indexOf(">", start_attr);
    
    if(start_value == -1){
        return txt;
    } else {
        start_value = start_value+1;
    }
    
    var end = resTxt.indexOf(endTag, start_value);
    
    if(end == -1){
        return txt;
    }
    
    txt = resTxt.slice(start_value, end);
    
    return txt;
}

/* HTTP通信用、共通関数 */
function ktCreateXMLHttpRequest(){
    var XMLhttpObject = null;
    try{
        XMLhttpObject = new XMLHttpRequest();
    } catch(e) {
        try{
            XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try{
                XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                return null;
            }
        }
    }
    return XMLhttpObject;
}
