//該当欄にエラーを表示
$.fn.validateError = function(str){
    this.addClass("warn-validate");
    return this.after('<ul class="validate-error-message red f11"><li>' + str + '</li></ul>');
}

//リセット時にエラー内容も消去
$.fn.validateReset = function(){
    $(".warn-validate").removeClass("warn-validate");
    $(".validate-error-message").remove();
    return this;
}

$(function(){
    var jvali = {};

    // イベントハンドラの追加
    jvali.target = $("#arena-inquery-form");

    // フォームのサブミット
    $(jvali.target).submit(function(){
        return jvali.check();
    });

    // 送信ボタン
    $("#formSend").click(function(){
        $(jvali.target).submit();
    });

    // リセットボタン
    $("#formReset").click(function(){
        if (window.confirm('入力内容をリセットしてもよろしいですか？')) {
            jvali.reset();
            document.getElementById('arena-inquery-form').reset();
        }

        return false;
    });

	//リセットを押下した場合
    jvali.reset = function() {
        $(jvali.target).validateReset();
    }

	//エラー内容の表示
    jvali.check = function() {

		//フラグ
    	var flag_tel1=0;
    	var flag_tel2=0;
    	var flag_tel3=0;

        $(jvali.target).validateReset();

		//会社名
        $("input[@name=comp]").each(function(){
            if (jvali.rules.empty($(this).val())) {
                $(this).validateError('必須項目です。');
            }
        });
        
        //会社名カナ
        $("input[@name=compkana]").each(function(){
            if (jvali.rules.empty($(this).val())) {
                $(this).validateError('必須項目です。');
            }
            if (jvali.rules.kana($(this).val())) {
                $(this).validateError('全角カタカナで入力してください。');
            }
        });

		//電話番号
        $("input[@name=tel1]").each(function(){
            if (jvali.rules.empty($(this).val())) {
                flag_tel1 = 1;
            }
            if (jvali.rules.telno($(this).val())) {
                flag_tel1 = 2;
            }
        });
        $("input[@name=tel2]").each(function(){
            if (jvali.rules.empty($(this).val())) {
                flag_tel2 = 1;
            }
            if (jvali.rules.telno($(this).val())) {
                flag_tel2 = 2;
            }
        });
        $("input[@name=tel3]").each(function(){
            if (jvali.rules.empty($(this).val())) {
                flag_tel3 = 1;
            }
            if (jvali.rules.telno($(this).val())) {
                flag_tel3 = 2;
            }
	        if ((flag_tel1 == "1") || (flag_tel2 == "1") || (flag_tel3 == "1")){
                $(this).validateError('必須項目です。');
			}else if ((flag_tel1 == "2") || (flag_tel2 == "2") || (flag_tel3 == "2")){
                $(this).validateError('形式が正しくありません。');
			}
        });

		//担当者名
        $("input[@name=name]").each(function(){
            if (jvali.rules.empty($(this).val())) {
                $(this).validateError('必須項目です。');
            }
        });

		//担当者名カナ
        $("input[@name=namekana]").each(function(){
            if (jvali.rules.empty($(this).val())) {
                $(this).validateError('必須項目です。');
            }
            if (jvali.rules.kana($(this).val())) {
                $(this).validateError('全角カタカナで入力してください。');
            }
        });

		//e-mail
        $("input[@name=mail]").each(function(){
            if (jvali.rules.empty($(this).val())) {
                $(this).validateError('必須項目です。');
            }
            if (jvali.rules.mail($(this).val())) {
                $(this).validateError('形式が正しくありません。');
            }
        });

		//お問い合わせ
//        $("textarea").each(function(){
//            if (jvali.rules.empty($(this).val())) {
//                $(this).validateError('必須項目です。');
//            }
//        });


        if ($(".warn-validate").size() > 0) {
            $(".warn-validate")[0].focus();
            return false;
        } else {
            return true;
        }
    }

	//Validate
    jvali.rules = {};

	//空欄かどうかをチェック
    jvali.rules.empty = function(str) {
        if ($.trim(str) == "") {
            return true;
        }
        return false;
    }

	//カタカナで入力されているかをチェック
    jvali.rules.kana = function(str) {
        if (!(str == "" || str.match(/^[ァ-ン゛゜ー 　・]+$/))) {
            return true;
        }
        return false;
    }

	//電話番号の形式をチェック
    jvali.rules.telno = function(str) {
        if (!(str == "" || str.match(/^[0-9]{1,5}$/))) {
            return true;
        }
        return false;
    }
    
	//E-mailの形式をチェック
    jvali.rules.mail = function(str) {
        if (!(str == "" || str.match(/^[\w\-\.]{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/))) {
            return true;
        }
        return false;
    }
});
