﻿$(document).ready( function(){
    // URLのクエリから"key"の値を取得
    var keyValue = getQueryParam("key");
    
    // keyが存在する場合、hidden inputのvalueを書き換え
    if (keyValue !== null) {
        $('input[name="BKEY"]').val(keyValue);
    }
    
    calc();
});

function k2n(){
    //支持荷重
    var Wl = parseFloat($('input[name="Wl"]').val());

    //小数点第三位で四捨五入
    var Wln = Math.round(Wl * 9.81 * 100) / 100

    $('input[name="Wln"]').val(Wln);

    calc();
}

function n2k(){
    //支持荷重
    var Wln = parseFloat($('input[name="Wln"]').val());

    //小数点第三位で四捨五入
    var Wl = Math.round(Wln / 9.81 * 100) / 100;

    $('input[name="Wl"]').val(Wl);

    calc();
}

function calc() {
	var BKEY = $('input[name="BKEY"]').val()
	var notGroup = $('input[name="not_group"]').val()
    if (notGroup === undefined){
		notGroup = "0";
	}
	
    //周波数
    var frequency = 'other';
    var from = Number($('input[name="frequency-from"]').val());
    if (isNaN(from)){
		from = 9999;
	}

    //形状
    var shapeParam = "";
    var shapeParams = [];
    $('input[name="shape"]:checked').each(function() {
        shapeParams.push("shape[]="+$(this).val());
    })
    shapeParam = shapeParams.join("&");
    if (shapeParam === undefined){
		shapeParam = "";
	}
    if (shapeParam == ""){
		shapeParam = "shape[]=ITEM58&shape[]=ITEM59&shape[]=ITEM60&shape[]=ITEM61&shape[]=ITEM62&shape[]=ITEM63&shape[]=ITEM64&shape[]=ITEM65&shape[]=ITEM66&shape[]=ITEM67&shape[]=ITEM68&shape[]=ITEM69&shape[]=ITEM70&shape[]=ITEM71&shape[]=ITEM72";
	}

    //支持荷重
    var Wl = parseFloat($('input[name="Wl"]').val());
    var Wln = parseFloat($('input[name="Wln"]').val());

    //振動伝達率
    var G = $('input[name="G"]:checked').val();
    if (G === undefined){
		G = "1-0";
	}

    var type = $('input[name="type"]').val();

    //2020.11.12　対象周波数、荷重を1個固定にするため、to/Whをパラメーターより除去
    $.get("https://www.nabeya.co.jp/api/productCount?BKEY=" + BKEY + "&type=" + type + "&frequency=" + frequency + "&from=" + from + "&Wl=" + Wl + "&Wln=" + Wln + "&G=" + G + "&" + shapeParam + "&not_group=" + notGroup, function (data, status) {
      $('#counts').hide("fast");
      $('#counts').text(data.count);
      $('#counts').fadeIn("slow");
      $('#orderNos').val(data.orderNos);
    });
}

function viewProdcuts(){
    Fl = Number($('input[name="frequency-from"]').val());
    Fh = Number($('input[name="frequency-from"]').val());

    var Wl = parseFloat($('input[name="Wl"]').val());
    var Wln = parseFloat($('input[name="Wln"]').val());
    var Wh = parseFloat($('input[name="Wh"]').val());
    if(Number($('#counts').text()) > 50){
        alert("選定結果を表示するには、選定件数を1件以上/50件以下にする必要があります。\n選定条件を変更し、50件以下となってから再度ボタンを押してください。");
        return false;
    }
    else if(Number($('#counts').text()) == 0){
        alert("選定結果を表示するには、選定件数を1件以上/50件以下にする必要があります。\n選定条件を変更し、1件以下となってから再度ボタンを押してください。");
        return false;
    }
    else{
    	jQuery('#loader-bg').show("fast");
        $('#decisionMatrix').empty();
        var orderNos = $('#orderNos').val();
        
        var table = '';
        var tableHead = '<h4 class="ttl_lv2">選定結果</h4><div class="scrollTable_wrapper"><table class="baseTable scrollTable"><tbody>';
        var tableFoot = '</tbody></table></div>';
	    var tr1 = '<th class="sticky_left" style="left: 0px;">&nbsp;</th>';
	    var tr2 = '<th class="sticky_left" style="left: 0px;">&nbsp;</th>';
	    var tr3 = '<th class="sticky_left" style="left: 0px;">サイズ</th>'
	    var tr4 = '<th class="sticky_left" style="left: 0px;">許容荷重（N）</th>'
	    var tr5 = '<th class="sticky_left" style="left: 0px;">固有振動数</th>'
	    var tr6 = '<th class="sticky_left" style="left: 0px;">対象振動周波数<br>（Hz）</th>'
	    var tr7 = '<th class="sticky_left" style="left: 0px;">材　質</th>'

    	var type = $('input[name="type"]').val();

        $.get("https://www.nabeya.co.jp/api/productList2?type=" + type + "&Wl=" + Wl + "&Wln=" + Wln + "&Wh=" + Wh + "&Fh=" + Fh + "&Fl=" + Fl + "&orderNos=" + orderNos, function (data, status) {
			for (var i = 0; i < data.length; i++) {
				tr1 = tr1 + '<td><p class="image"><a href="/product?key=' + data[i].BKEY + '"><img src="https://www.nabeya.co.jp/Catalog/CatalogPic/' + data[i].IMG1 + '" width="140" height="140" alt=""></a></p></td>';
				tr2 = tr2 + '<td class="wrap"><a href="/product?key=' + data[i].BKEY + '">' + `${data[i].HNAME ?? '-'}` + '</a></td>';
				tr3 = tr3 + '<td class="wrap">' + `${data[i].SIZE ?? ''}` + '</td>';
				tr4 = tr4 + '<td class="wrap">' + `${data[i].WEIGHT ?? ''}` + '</td>';
				tr5 = tr5 + '<td class="wrap">' + `${data[i].VIBRATION ?? ''}` + '</td>';
				tr6 = tr6 + '<td class="wrap"> - </td>';
				tr7 = tr7 + '<td class="wrap">' + `${data[i].ZAISHITSU ?? ''}` + '</td>';
			}
			
			table = tableHead + '<tr>' + tr1 + '</tr>' + '<tr>' + tr2 + '</tr>' + '<tr>' + tr3 + '</tr>' + '<tr>' + tr4 + '</tr>' + '<tr>' + tr5 + '</tr>' + '<tr>' + tr6 + '</tr>' + '<tr>' + tr7 + '</tr>' + tableFoot;
            $('#decisionMatrix').append(table);
            jQuery('#loader-bg').hide("slow");
        });
    }
}

function viewProdcutsDetail(){
    Fl = Number($('input[name="frequency-from"]').val());
    Fh = Number($('input[name="frequency-from"]').val());

    var Wl = parseFloat($('input[name="Wl"]').val());
    var Wln = parseFloat($('input[name="Wln"]').val());
    var Wh = parseFloat($('input[name="Wh"]').val());
    if(Number($('#counts').text()) > 50){
        alert("選定結果を表示するには、選定件数を1件以上/50件以下にする必要があります。\n選定条件を変更し、50件以下となってから再度ボタンを押してください。");
        return false;
    }
    else if(Number($('#counts').text()) == 0){
        alert("選定結果を表示するには、選定件数を1件以上/50件以下にする必要があります。\n選定条件を変更し、1件以上となってから再度ボタンを押してください。");
        return false;
    }
    else{
    	jQuery('#loader-bg').show("fast");
        $('#decisionMatrix').empty();
        var orderNos = $('#orderNos').val();
        
        var table = '';
        var tableHead = '<h4 class="ttl_lv2">選定結果</h4><div class="scrollTable_wrapper"><table class="baseTable scrollTable"><tbody>';
        var tableFoot = '</tbody></table></div><p class="mt3rem_pc mt2rem_sp"><button onclick="viewGraphDirect()" class="select_button">伝達特性グラフを確認する</button></p>';
	    var tr1 = '<th class="sticky_left" style="left: 0px;">&nbsp;</th>';
	    var tr2 = '<th class="sticky_left" style="left: 0px;">&nbsp;</th>';
	    var tr3 = '<th class="sticky_left" style="left: 0px;">削除</th>'
	    var tr4 = '<th class="sticky_left" style="left: 0px;">オーダーNo.</th>'
	    var tr5 = '<th class="sticky_left" style="left: 0px;">品番</th>'
	    var tr6 = '<th class="sticky_left" style="left: 0px;">形状</th>'
	    var tr7 = '<th class="sticky_left" style="left: 0px;">許容荷重最小［N］</th>'
	    var tr8 = '<th class="sticky_left" style="left: 0px;">許容荷重最大［N］</th>'
	    var tr9 = '<th class="sticky_left" style="left: 0px;">共振倍率［dB］</th>'
	    var tr10 = '<th class="sticky_left" style="left: 0px;">支持荷重100kg時の<br>対象周波数' + Fl + 'Hzの<br>伝達率［倍］</th></th>'
	    var tr11 = '<th class="sticky_left" style="left: 0px;">備考</th>'
	    var tr12 = '<th class="sticky_left" style="left: 0px;">価格［円］</th>'

    	var type = $('input[name="type"]').val();
    	type="detail";

		var addClass = "";

        $.get("https://www.nabeya.co.jp/api/productList2?type=" + type + "&Wl=" + Wl + "&Wln=" + Wln + "&Wh=" + Wh + "&Fh=" + Fh + "&Fl=" + Fl + "&orderNos=" + orderNos, function (data, status) {
			for (var i = 0; i < data.length; i++) {
				if(data[i].Gll == 1){
					addClass = ' warning';
				}
				tr1 = tr1 + '<td class=' + data[i].ORDERNO + '><input type="checkbox" name="orderNos" value="' + data[i].ORDERNO + '"><p class="image"><a href="/product?key=' + data[i].BKEY + '"><img src="https://www.nabeya.co.jp/Catalog/CatalogPic/' + data[i].IMG1 + '" width="140" height="140" alt=""></a></p></td>';
				tr2 = tr2 + '<td class=' + data[i].ORDERNO + '><a href="/product?key=' + data[i].BKEY + '">' + `${data[i].ITEM51 ?? '-'}` + '</a></td>';
				tr3 = tr3 + '<td class=' + data[i].ORDERNO + '><button class="btn-danger" type="button" onclick="delTD(' + `${data[i].ORDERNO ?? ''}` + ')">削除する</button></td>';
				tr4 = tr4 + '<td class=' + data[i].ORDERNO + '>' + `${data[i].ORDERNO ?? ''}` + '</td>';
				tr5 = tr5 + '<td class=' + data[i].ORDERNO + '>' + `${data[i].ITEM54 ?? ''}` + '</td>';
				tr6 = tr6 + '<td class=' + data[i].ORDERNO + '>' + `${data[i].ITEM57 ?? ''}` + '</td>';
				tr7 = tr7 + '<td class=' + data[i].ORDERNO + '>' + `${data[i].ITEM55 ?? ''}` + '</td>';
				tr8 = tr8 + '<td class=' + data[i].ORDERNO + '>' + `${data[i].ITEM56 ?? ''}` + '</td>';
				tr9 = tr9 + '<td class=' + data[i].ORDERNO + '>' + `${data[i].ITEM74 ?? ''}` + '</td>';
				tr10 = tr10 + '<td class=' + data[i].ORDERNO + addClass + '>' + `${data[i].Gll ?? ''}` + '</td>';
				tr11 = tr11 + '<td class=' + data[i].ORDERNO + '>' + `${data[i].ITEM75 ?? ''}` + '</td>';
				tr12 = tr12 + '<td class=' + data[i].ORDERNO + '>' + `${data[i].ITEM49 ?? ''}` + '</td>';
			}
			
			table = tableHead + '<tr>' + tr1 + '</tr>' + '<tr>' + tr2 + '</tr>' + '<tr>' + tr3 + '</tr>' + '<tr>' + tr4 + '</tr>' + '<tr>' + tr5 + '</tr>' + '<tr>' + tr6 + '</tr>' + '<tr>' + tr7 + '</tr>' +  tr8 + '</tr>' + '<tr>' + tr9 + '</tr>' + '<tr>' + tr10 + '</tr>' + '<tr>' + tr11 + '</tr>' + '<tr>' + tr12 + '</tr>' + tableFoot;
            $('#decisionMatrix').append(table);
            jQuery('#loader-bg').hide("slow");
        });
    }
}

function viewGraphDirect(){
    //3件以上選択されたらエラーにする
    var count = 0;
    $('input[name="orderNos"]:checked').each(function() {
        count ++
    })
    if(count >=1 && count <=3){
    	jQuery('#loader-bg').show("fast");
    	
        var SW = Number($('#load01').val());
        if(SW > 0){
            var param = "";
            var from = $('input[name="frequency-from"]').val();
            
            
            if (isNaN(from)){
				from = 9999;
			}
            
            if(Number(from) > 0){
                Fl = Number(from);
                Fh = Number(from);
            }
            else{
                alert("3.対象振動周波数の数値が取得できませんでした。入力値を確認してください。");
                return false;
            }


            var Wl = parseFloat($('input[name="Wl"]').val());
            var Wln = parseFloat($('input[name="Wln"]').val());
            var Wh = parseFloat($('input[name="Wln"]').val());

            var orderNoParam = "";
            var orderNoParams = [];
            $('input[name="orderNos"]:checked').each(function() {
                orderNoParams.push($(this).val());
            })

            orderNoParam = orderNoParams.join(",");
            var graphUrl = "https://www.nabeya.co.jp/vibration/simulation-graph?Wl=" + Wl + "&Wln=" + Wln + "&Wh=" + Wh + "&Fh=" + Fh + "&Fl=" + Fl + "&SW=" + SW + "&orderNos=" + orderNoParam;
			$('#viewGraph').empty();
            $('#viewGraph').append("<iframe scrolling='no' style='margin-top:-100px;' class='viewGraph' src=" + graphUrl + "></iframe>");
        }
        else{
            alert("2.支持荷重（1点当たり）の数値が取得できませんでした。入力値を確認してください。");
            return false;
        }
        jQuery('#loader-bg').hide("slow");
        return false;
    }
    else if(count == 0){
        alert("製品が選択されていません。1製品以上選択してください。");
        return false;
    }
    else if(count > 3){
        alert("3製品以上選択されています。3製品以下となるよう選択しなおしてください。");
        return false;
    }
}

function delTD(orderno){
    $('.'+orderno).remove();
}

// URLから特定のキーの値を取得する関数
function getQueryParam(key) {
    var queryString = window.location.search; // 現在のURLからクエリ文字列を取得
    var urlParams = new URLSearchParams(queryString); // クエリパラメータを解析
    return urlParams.has(key) ? urlParams.get(key) : null; // キーが存在すれば値を取得、なければnull
}