﻿$(document).ready(function(){
    $("#type").val("a");
    var $form = $("#form");
    $.ajax({
        url: "https://www.nabeya.co.jp/api/gas_spring/ajax",
        type: 'GET',
        data: $form.serialize()
    })
    // Ajaxリクエストが成功した時発動
        .done(function (data) {
            setColor(data)
            setErrorMsg(data)
            setGasSpringModelSelection(data)
            setGasSpringCalc(data)
            setDetailGasSpringIds(data)
            setGraph1(data)
            setResultMsg(data)
        })
        // Ajaxリクエストが失敗した時発動
        .fail(function (data) {
            $('.result').html(data);
        })
        // Ajaxリクエストが成功・失敗どちらでも発動
        .always(function (data) {
        });

	
    $(document).on("change", "#doorLength", function(){
        var idName = $(this).attr('id');
        if ( !checkCssColorGray($(this).val(),idName) ) {
            return false;
        } else {
            $("#type").val("a");
            var $form = $("#form");
            $.ajax({
                url: "https://www.nabeya.co.jp/api/gas_spring/ajax",
                type: 'GET',
                data: $form.serialize()
            })
            // Ajaxリクエストが成功した時発動
                .done(function (data) {
                    setColor(data)
                    setErrorMsg(data)
                    setGasSpringModelSelection(data)
                    setGasSpringCalc(data)
                    setDetailGasSpringIds(data)
                    setGraph1(data)
                    setResultMsg(data)
                })
                // Ajaxリクエストが失敗した時発動
                .fail(function (data) {
                    $('.result').html(data);
                })
                // Ajaxリクエストが成功・失敗どちらでも発動
                .always(function (data) {
                });
        }
    });
    $(document).on("change", "#centerRotationSideMounting", function(){
        var idName = $(this).attr('id');
        if ( !checkCssColorGray($(this).val(),idName) ) {
            return false;
        } else {
            $("#type").val("b");
            var $form = $("#form");
            $.ajax({
                url:"https://www.nabeya.co.jp/api/gas_spring/ajax",
                type:'GET',
                data:$form.serialize()
            })
            // Ajaxリクエストが成功した時発動
                .done(function(data){
                    setColor(data)
                    setErrorMsg(data)
                    setGasSpringModelSelection(data)
                    setGasSpringCalc(data)
                    setDetailGasSpringIds(data)
                    setGraph1(data)
                    setResultMsg(data)
                })
                // Ajaxリクエストが失敗した時発動
                .fail(function(data){
                    $('.result').html(data);
                })
                // Ajaxリクエストが成功・失敗どちらでも発動
                .always(function(data){
                });
        }
    });
    $(document).on("change", "#doorSideMounting", function(){
        var idName = $(this).attr('id');
        if ( !checkCssColorGray($(this).val(),idName) ) {
            return false;
        } else {
            $("#type").val("c");
            var $form = $("#form");
            $.ajax({
                url:"https://www.nabeya.co.jp/api/gas_spring/ajax",
                type:'GET',
                data:$form.serialize()
            })
            // Ajaxリクエストが成功した時発動
                .done(function(data){
                    setColor(data)
                    setErrorMsg(data)
                    setGasSpringModelSelection(data)
                    setGasSpringCalc(data)
                    setDetailGasSpringIds(data)
                    setGraph1(data)
                    setResultMsg(data)
                })
                // Ajaxリクエストが失敗した時発動
                .fail(function(data){
                    $('.result').html(data);
                })
                // Ajaxリクエストが成功・失敗どちらでも発動
                .always(function(data){
                });
        }
    });
    $(document).on("change", "#centerRotationGravity", function(){
        var idName = $(this).attr('id');
        if ( !checkCssColorGray($(this).val(),idName) ) {
            return false;
        } else {
            $("#type").val("d");
            var $form = $("#form");
            $.ajax({
                url:"https://www.nabeya.co.jp/api/gas_spring/ajax",
                type:'GET',
                data:$form.serialize()
            })
            // Ajaxリクエストが成功した時発動
                .done(function(data){
                    console.log(data)
                    setColor(data)
                    setErrorMsg(data)
                    setGasSpringModelSelection(data)
                    setGasSpringCalc(data)
                    setDetailGasSpringIds(data)
                    setGraph1(data)
                    setResultMsg(data)
                })
                // Ajaxリクエストが失敗した時発動
                .fail(function(data){
                    $('.result').html(data);
                })
                // Ajaxリクエストが成功・失敗どちらでも発動
                .always(function(data){
                });
        }
    });
    $(document).on("change", "#frameSideMountingHorizontal", function(){
        var idName = $(this).attr('id');
        if ( !checkCssColorGray($(this).val(),idName) ) {
            return false;
        } else {
            $("#type").val("e");
            var $form = $("#form");
            $.ajax({
                url:"https://www.nabeya.co.jp/api/gas_spring/ajax",
                type:'GET',
                data:$form.serialize()
            })
            // Ajaxリクエストが成功した時発動
                .done(function(data){
                    setColor(data)
                    setErrorMsg(data)
                    setGasSpringModelSelection(data)
                    setGasSpringCalc(data)
                    setDetailGasSpringIds(data)
                    setGraph1(data)
                    setResultMsg(data)
                })
                // Ajaxリクエストが失敗した時発動
                .fail(function(data){
                    $('.result').html(data);
                })
                // Ajaxリクエストが成功・失敗どちらでも発動
                .always(function(data){
                });
        }
    });
    $(document).on("change", "#frameSideMountingVertical", function(){
        var idName = $(this).attr('id');
        if ( !checkCssColorGray($(this).val(),idName) ) {
            return false;
        } else {
            $("#type").val("f");
            var $form = $("#form");
            $.ajax({
                url:"https://www.nabeya.co.jp/api/gas_spring/ajax",
                type:'GET',
                data:$form.serialize()
            })
            // Ajaxリクエストが成功した時発動
                .done(function(data){
                    setColor(data)
                    setErrorMsg(data)
                    setGasSpringModelSelection(data)
                    setGasSpringCalc(data)
                    setDetailGasSpringIds(data)
                    setGraph1(data)
                    setResultMsg(data)
                })
                // Ajaxリクエストが失敗した時発動
                .fail(function(data){
                    $('.result').html(data);
                })
                // Ajaxリクエストが成功・失敗どちらでも発動
                .always(function(data){
                });
        }
    });
    $(document).on("change", "#doorOpening", function(){
        var idName = $(this).attr('id');
        if ( !checkCssColorGray($(this).val(),idName) ) {
            return false;
        } else {
            $("#type").val("theta1");
            var $form = $("#form");
            $.ajax({
                url:"https://www.nabeya.co.jp/api/gas_spring/ajax",
                type:'GET',
                data:$form.serialize()
            })
            // Ajaxリクエストが成功した時発動
                .done(function(data){
                    setColor(data)
                    setErrorMsg(data)
                    setGasSpringModelSelection(data)
                    setGasSpringCalc(data)
                    setDetailGasSpringIds(data)
                    setGraph1(data)
                    setResultMsg(data)
                })
                // Ajaxリクエストが失敗した時発動
                .fail(function(data){
                    $('.result').html(data);
                })
                // Ajaxリクエストが成功・失敗どちらでも発動
                .always(function(data){
                });
        }
    });
    $(document).on("change", "#doorFullyClosed", function(){
        var idName = $(this).attr('id');
        if ( !checkCssColorGray($(this).val(),idName) ) {
            return false;
        } else {
            $("#type").val("theta2");
            var $form = $("#form");
            console.log( $form.serialize())
            $.ajax({
                url:"https://www.nabeya.co.jp/api/gas_spring/ajax",
                type:'GET',
                data:$form.serialize()
            })
            // Ajaxリクエストが成功した時発動
                .done(function(data){
                    setColor(data)
                    setErrorMsg(data)
                    setGasSpringModelSelection(data)
                    setGasSpringCalc(data)
                    setDetailGasSpringIds(data)
                    setGraph1(data)
                    setResultMsg(data)
                })
                // Ajaxリクエストが失敗した時発動
                .fail(function(data){
                    $('.result').html(data);
                })
                // Ajaxリクエストが成功・失敗どちらでも発動
                .always(function(data){
                });
        }
    });
    $(document).on("change", "#doorMoss", function(){
        var idName = $(this).attr('id');
        if ( !checkCssColorGray($(this).val(),idName) ) {
            return false;
        } else {
            $("#type").val("w");
            var $form = $("#form");
            console.log( $form.serialize())
            $.ajax({
                url:"https://www.nabeya.co.jp/api/gas_spring/ajax",
                type:'GET',
                data:$form.serialize()
            })
            // Ajaxリクエストが成功した時発動
                .done(function(data){
                    setColor(data)
                    setErrorMsg(data)
                    setGasSpringModelSelection(data)
                    setGasSpringCalc(data)
                    setDetailGasSpringIds(data)
                    setGraph1(data)
                    setResultMsg(data)
                })
                // Ajaxリクエストが失敗した時発動
                .fail(function(data){
                    $('.result').html(data);
                })
                // Ajaxリクエストが成功・失敗どちらでも発動
                .always(function(data){
                });
        }
    });
    function checkCssColorGray(val,idName)
    {
        if ( val == "" ) {
            $("#"+idName).css("background-color","white")
            return false;
        } else {
            $("#"+idName).css("background-color","white")
            return true;
        }
    }
    function setColor(val)
    {
        if ( val['colorB'] != "" ) {
            $("#centerRotationSideMounting").css("background-color",val['colorB'])
        } else {
            $("#centerRotationSideMounting").css("background-color","white")
        }
        if ( val['colorC'] != "" ) {
            $("#doorSideMounting").css("background-color",val['colorC'])
        } else {
            $("#doorSideMounting").css("background-color","white")
        }
        if ( val['colorD'] != "" ) {
            $("#centerRotationGravity").css("background-color",val['colorD'])
        } else {
            $("#centerRotationGravity").css("background-color","white")
        }
        if ( val['colorTheta1'] != "" ) {
            $("#doorOpening").css("background-color",val['colorTheta1'])
        } else {
            $("#doorOpening").css("background-color","white")
        }
        if ( val['colorTheta2'] != "" ) {
            $("#doorFullyClosed").css("background-color",val['colorTheta2'])
        } else {
            $("#doorFullyClosed").css("background-color","white")
        }

    }
    function setErrorMsg(val){
        if ( val['errorMsg'] != "" ) {
            alert(val['errorMsg'])
        }
    }
    function setGasSpringModelSelection(val){
        if ( val['selectNum'] != "" || val['selectNum'] != 0 ) {
            $(".gasSpringModelSelection").html(val['selectNum'])
            //$(".selection-comment").css("background-color","sandybrown")
            $("#btnSelect").prop("disabled", false);
        } else {
            $(".gasSpringModelSelection").html("0")
            $(".selection-comment").css("background-color","#fcc")
            $("#btnSelect").prop("disabled", true);
        }
    }
    function setGasSpringCalc(val){
        if ( val['gsLengthClosed'] != "" || val['gsLengthClosed'] != 0 ) {
            $(".gsLengthClosed").html(val['gsLengthClosed'])
        } else {
            $(".gsLengthClosed").html("0")
        }
        if ( val['gsLengthOpening'] != "" || val['gsLengthOpening'] != 0 ) {
            $(".gsLengthOpening").html(val['gsLengthOpening'])
        } else {
            $(".gsLengthOpening").html("0")
        }
        if ( val['minimum'] != "" || val['minimum'] != 0 ) {
            $(".minimum").html(val['minimum'])
        } else {
            $(".minimum").html("0");
        }
        if ( val['maximum'] != "" || val['maximum'] != 0 ) {
            $(".maximum").html(val['maximum'])
        } else {
            $(".maximum").html("0")
        }
        if ( val['strokeMaximum'] != "" || val['strokeMaximum'] != 0 ) {
            $(".strokeMaximum").html(val['strokeMaximum'])
        } else {
            $(".strokeMaximum").html("0")
        }

    }
    function setDetailGasSpringIds(val){
        if ( val['detailGasSpringIds'] != "" || val['detailGasSpringIds'] != 0 ) {
            $("#detailGasSpringIds").val(val['detailGasSpringIds'])
        } else {
            $("#detailGasSpringIds").val(val['detailGasSpringIds'])
        }
    }
    function setGraph1(val){
    	//console.log("setGraph1");
        if ( val['graph1'] != "" || val['graph1'] != 0 ) {
        	//console.log("setGraph1In");
            $("#graph1").attr("src", val['graph1']);
    		console.log(val['graph1']);
        }
    }
    function setResultMsg(val){
    	//console.log("setMsg");
        //if ( val['selectResultMsg'] != "" || val['selectResultMsg'] != 0 ) {
            //$(".selection-comment").html(val['selectResultMsg']);
		//}
        $("#minimum_td").removeClass("td_color");
        $("#maximum_td").removeClass("td_color");
        $("#strokeMaximum_td").removeClass("td_color");
        if ( val['selectResultMsg'] == "ＧＳの最大長が長すぎます。寸法ＥＦを回転中心に近づけてください。") {
        	$("#btnSelectAjax").attr("disabled",true);
        	$('#counts').text(0);
        	$(".selection-comment").html(val['selectResultMsg']).css("background-color","#fcc");
            $("#maximum_td").addClass("td_color");

        } else if ( val['selectResultMsg'] == "ＧＳの最小長が短すぎます。寸法ＥＦを回転中心から遠ざけて下さい。")  {
        	$("#btnSelectAjax").attr("disabled",true);
            $('#counts').text(0);
            $(".selection-comment").html(val['selectResultMsg']).css("background-color","#fcc");
            $("#minimum_td").addClass("td_color");
        } else if ( val['selectResultMsg'] == "適合するストロークがありません。寸法ＢＣＥＦを調整して下さい。")  {
        	$("#btnSelectAjax").attr("disabled",true);
            $('#counts').text(0);
            $(".selection-comment").html(val['selectResultMsg']).css("background-color","#fcc");
            if ( val['strokeMaximum'] != "" && val['strokeMaximum'] > 356.5) {
                $("#strokeMaximum_td").addClass("td_color");
            }
        } else {
        	console.log("OK");
        	//$('#counts').text(response.selectNum);
			$("#btnSelectAjax").attr("disabled",false);
			$(".selection-comment").html("").css("background-color", "transparent");
        }
    }
    $(document).on('click', '.checkDetailGasSpringIds', function () {
        if ( $(this).prop('checked') ) {
            $('.checkDetailGasSpringId').val('');
            $('.checkDetailGasSpringIds').prop('checked', false);
            $('.checkDetailGasSpringId').val($(this).val());
            $(this).prop('checked', true);
        }
    });
    $('#btnSelect').click(function() {
        $("#type").val("select")
        $('#form').attr("action","simulation.php")
        $('#form').attr("target","")
        $('#form').submit();
    });
    $('#btnSelectAjax').click(function(event) {
        event.preventDefault(); // フォームのデフォルト送信を防ぐ
        $('#detailTable tbody').html("");
        $("#decisionMatrix").hide();
        $("#type").val("select")
        var formData = $('#form').serialize(); // フォームデータをシリアライズ
        $.ajax({
            url: 'https://www.nabeya.co.jp/api/gas_spring/ajax_result', // データを送信するURL
            type: 'POST',
            data: formData,
            success: function(response) {
                // 選定件数の表示を更新
                if (response.selectNum !== undefined) {
                    $('#counts').text(response.selectNum);
                }
                if ( response.selectNum == 0 ) {
                    $("#btnSelectAjax").attr("disabled",true);
                } else {
                    $("#btnSelectAjax").attr("disabled",false);
                }
                // 取得した詳細リストを表示
                if (response.gasDetailList !== undefined && Object.keys(response.gasDetailList).length > 0 && response.selectNum > 0) {
                    $('#TS-td').scrollLeft(0);
                    $('#detailTable tbody').html(response.html);
                    $("#decisionMatrix").show();
                    if (response.checkPost) {
                        location.href = "#calcTable";
                    }
                } else {
                    $("#decisionMatrix").hide();
                }
                // その他のDOM操作やデータ表示など
                $('.gsLengthClosed').text(response.gsLengthClosed || '0');
                $('.minimum').text(response.minimum || '0');
                $('.gsLengthOpening').text(response.gsLengthOpening || '0');
                $('.maximum').text(response.maximum || '0');
                $('.strokeMaximum').text(response.strokeMaximum || '0');
            },
            error: function(xhr, status, error) {
                // エラー時の処理
                console.error('エラー:', status, error);
            }
        });
    });

    $('#buttonGraph2').click(function() {
		jQuery('#loader-bg').show("fast");

        if ( $(".checkDetailGasSpringId").val() != '' ) {
			var A = $('#doorLength').val();
		    var B = $('#centerRotationSideMounting').val();
		    var C = $('#doorSideMounting').val();
		    var D = $('#centerRotationGravity').val();
		    var E = $('#frameSideMountingHorizontal').val();
		    var F = $('#frameSideMountingVertical').val();
		    var P1 = $('#doorOpening').val();
		    var P2 = $('#doorFullyClosed').val();
		    var W = $('#doorMoss').val();
		    var Id =  $('input[name="checkDetailGasSpringId"]').val();
			var Dim =  $('input[name="dimension"]').val();
			var P =  $('input[name="pushType"]').val();
			
			var Parms = "?doorLength="+A+"&centerRotationSideMounting="+B+"&doorSideMounting="+C+"&centerRotationGravity="+D+"&frameSideMountingHorizontal="+E+"&frameSideMountingVertical="+F+"&doorOpening="+P1+"&doorFullyClosed="+P2+"&doorMoss="+W+"&checkDetailGasSpringId="+Id+"&dimension="+Dim+"&pushType="+P
        	
			$('#viewGraph').empty();
            $('#viewGraph').append("<iframe scrolling='no' style='margin-top:-100px;' class='viewGraph' src='https://www.nabeya.co.jp/gas_spring/simulation-graph" + Parms + "'></iframe>");
			
        } else {
            alert("オーダーNoにチェックを入れてください")
        }
		jQuery('#loader-bg').hide("slow");
    });
    $(document).on('click', '.pdfDownLoad', function () {
        var $form = $("#form");
        $.ajax({
            url: "https://www.nabeya.co.jp/api/gas_spring/log_ajax",
            type: 'POST',
            data: $form.serialize()
        })
        .done(function (data) {
            console.log(data["result"])
        });
    });
});

function deleteList(val){
    $('.'+val).remove();
};
