/// <summary>
/// 画面の項目を初期化する。
/// </summary>
/// <param name="">なし</param>
/// <returns>
/// なし
/// </returns>
function ClearTargetChar() {
    
    //入力値をクリア
    document.getElementById("change_from").value = "";
   
    //整形された値をクリア
    document.getElementById("change_to").value = "";
 

}


/// <summary>
/// チェックの入っているラジオボタンにより処理を行う。
/// </summary>
/// <param name="">なし</param>
/// <returns>
/// tran_type   チェックの入っているタイプ(ID)
/// </returns>
function ExecuteCheckType()
{

    //処理タイプ
    var tran_type = "";

    // ＼
    if (document.getElementById('typeSlantRight').checked)
    {
        ChangeInputValueToSlantRight();
        return;
    }
    
    // ／
    if (document.getElementById('typeSlantLeft').checked)
    {
        ChangeInputValueToSlantLeft();
        return;
    }
    
    // Z
    if (document.getElementById('typeZchar').checked)
    {
        ChangeInputValueToZ();
        return;
    }
    
    // <
    if (document.getElementById('typeRightOpen').checked)
    {
        ChangeInputValueToRightOpen();
        return;
    }
    
   

}


/// <summary>
/// 【＼】入力された文字列を右下斜めに加工する。
/// </summary>
/// <param name="">なし</param>
/// <returns>
/// なし
/// </returns>
function ChangeInputValueToSlantRight() {
    
    //入力値を取得
    var iv = document.getElementById("change_from").value;
    
    //文字数チェック(最低２文字以上入っている事)
    if( iv.length < 2)
    {
        alert("【＼】型の文字列を整形する場合には、\r\n最低２文字以上入力して下さい。");
        document.getElementById("change_from").focus();
        return;
    }
    
    //スペース文字
    var type = "　";

    //左側に連結する最終的な文字列
    var space;
    
    //整形後の文字列
    var c_after = "";
        
    //文字列を整形
    for (var i = 0; i < iv.length; i++) {
        //左側のスペースの作成
        space = "";
        for (var j = 0; j < i; j++) {
            space = space + type;
        }

        var c = iv.charAt(i);
        c_after = c_after + space + c + "\r\n"; 
    }
    
    //末尾の改行文字を削除
    c_after = c_after.replace(/\r\n$/, "");
    
    //加工された文字列を加工後TextBoxにセットする。
    SetCustomizedValue(c_after);

}


/// <summary>
/// 【／】入力された文字列を左下斜めに加工する。
/// </summary>
/// <param name="">なし</param>
/// <returns>
/// なし
/// </returns>
function ChangeInputValueToSlantLeft() {
    
    //入力値を取得
    var iv = document.getElementById("change_from").value;
    
    //文字数チェック(最低２文字以上入っている事)
    if( iv.length < 2)
    {
        alert("【／】型の文字列を整形する場合には、\r\n最低２文字以上入力して下さい。");
        document.getElementById("change_from").focus();
        return;
    }
    
    //スペース文字
    var type = "　";

    //左側に連結する最終的な文字列
    var space;
    
    //整形後の文字列
    var c_after = "";
    
    // ／
    var space_count = iv.length - 1;
    for (var i = 0; i < iv.length; i++) {
        //左側のスペースの作成
        space = "";
                
        //斜め部分の１行分の文字列を生成
        for (var j = 0; j < space_count; j++) {
            space = space + type;
        }
        //デクリメント
        space_count = space_count - 1;
        
        //1行分を連結
        var c = iv.charAt(i);        
        c_after = c_after + space + c + "\r\n"; 
    }
    
    //末尾の改行文字を削除
    c_after = c_after.replace(/\r\n$/, "");
    
    //加工された文字列を加工後TextBoxにセットする。
    SetCustomizedValue(c_after);

}


/// <summary>
/// 【Ｚ】入力された文字列をＺ型に加工する。
/// </summary>
/// <param name="">なし</param>
/// <returns>
/// なし
/// </returns>
function ChangeInputValueToZ() {
    
    //入力値を取得
    var iv = document.getElementById("change_from").value;
    
    //入力チェック
    
    //文字数チェック(最低２文字以上入っている事)
    if( iv.length < 2)
    {
        alert("【Ｚ】型の文字列を整形する場合には、\r\n最低２文字以上入力して下さい。");
        document.getElementById("change_from").focus();
        return;
    }

    //スペース文字
    var type = "　";

    //左側に連結する最終的な文字列
    var space;
    
    //整形後の文字列
    var c_after = "";

    //@→
    c_after = iv + "\r\n"; 
    
    //A／
    //スペースカウント
    var space_count = iv.length - 1;
    for (var i = 0; i < iv.length; i++) {
        //左側のスペースの作成
        space = "";
                
        //斜め部分の１行分の文字列を生成
        for (var j = 0; j < space_count; j++) {
            space = space + type;
        }
        //デクリメント
        space_count = space_count - 1;
        
        //1行分を連結
        var c = iv.charAt(i);        
        c_after = c_after + space + c + "\r\n"; 
    }
    
    //@→
    c_after = c_after + iv; 
    
    //加工された文字列を加工後TextBoxにセットする。
    SetCustomizedValue(c_after);

}


/// <summary>
/// 【＜】入力された文字列を＜型に加工する。
/// </summary>
/// <param name="">なし</param>
/// <returns>
/// なし
/// </returns>
function ChangeInputValueToRightOpen() {
    
    //入力値を取得
    var iv = document.getElementById("change_from").value;
    
    //入力チェック
    
    //文字数チェック(最低２文字以上入っている事)
    if( iv.length < 2)
    {
        alert("【Ｚ】型の文字列を整形する場合には、\r\n最低２文字以上入力して下さい。");
        document.getElementById("change_from").focus();
        return;
    }

    //スペース文字
    var type = "　";

    //左側に連結する最終的な文字列
    var space;
    
    //整形後の文字列
    var c_after = "";

    //@／
    //スペースカウント
    var space_count = iv.length - 1;
    for (var i = 0; i < iv.length; i++) {
        //左側のスペースの作成
        space = "";
                
        //斜め部分の１行分の文字列を生成
        for (var j = 0; j < space_count; j++) {
            space = space + type;
        }
        //デクリメント
        space_count = space_count - 1;
        
        //1行分を連結
        var c = iv.charAt(i);        
        c_after = c_after + space + c + "\r\n"; 
    }
    
    //A＼
    for (var i = 0; i < iv.length; i++) {
        //左側のスペースの作成
        space = "";
        for (var j = 0; j < i; j++) {
            space = space + type;
        }

        var c = iv.charAt(i);
        c_after = c_after + space + c + "\r\n"; 
    }
 
    //末尾の改行文字を削除
    c_after = c_after.replace(/\r\n$/, "");
        
    //加工された文字列を加工後TextBoxにセットする。
    SetCustomizedValue(c_after);

}

/// <summary>
/// 加工された文字列を加工後TextBoxにセットする。
/// </summary>
/// <param name="c_after">整形後の文字列</param>
/// <returns>
/// なし
/// </returns>
function SetCustomizedValue(c_after) {
    
    //整形された値を設定
    document.getElementById("change_to").value = c_after;
 
    //生成された文字列をクリップボードにコピー
    window.clipboardData.setData("text",c_after);

}


