﻿// Hzから入力回転数をセットする
function setInputSpeed(){
	var inputspeed = document.productSelection.inputspeed.value;
	var ratio = document.productSelection.ratio.value;
	var hz = document.productSelection.hz.value;
	var inputspeedOBJ = document.productSelection.inputspeed;
	var hzOBJ = document.productSelection.hz;
	// もっとの入力回転数選択された番号を取得
	var selectedInputSpeed = getSelectNumber('inputspeed');
	
	if(hz==50){
		inputspeedOBJ.length=3;
		inputspeedOBJ.options[0].text = "";
		inputspeedOBJ.options[1].text = "980";
		inputspeedOBJ.options[2].text = "1450";
		
		inputspeedOBJ.options[0].value = "-1";
		inputspeedOBJ.options[1].value = "980";
		inputspeedOBJ.options[2].value = "1450";
		setSelectCheckByNumber('inputspeed', selectedInputSpeed);
		checkInverter();				
	}else if(hz==60){
		inputspeedOBJ.length=3;
		inputspeedOBJ.options[0].text = "";
		inputspeedOBJ.options[1].text = "1165";
		inputspeedOBJ.options[2].text = "1750";
		
		inputspeedOBJ.options[0].value = "-1";
		inputspeedOBJ.options[1].value = "1165";
		inputspeedOBJ.options[2].value = "1750";
		setSelectCheckByNumber('inputspeed', selectedInputSpeed);			
	}else {
		// ディフォルト
		inputspeedOBJ.length=5;
		inputspeedOBJ.options[0].text = "";
		inputspeedOBJ.options[1].text = "980";
		inputspeedOBJ.options[2].text = "1450";
		inputspeedOBJ.options[3].text = "1165";
		inputspeedOBJ.options[4].text = "1750";		
		
		inputspeedOBJ.options[0].value = "-1";
		inputspeedOBJ.options[1].value = "980";
		inputspeedOBJ.options[2].value = "1450";
		inputspeedOBJ.options[3].value = "1165";
		inputspeedOBJ.options[4].value = "1750";
		setSelectCheckByNumber('inputspeed', 0);			
	}
	if(inputspeed>0 && ratio>0){
		speedCalculationByRatio();
	}
	// 極数のセット
	setPole();	
}

function changeShaftConnection(){
	var shaftconnection = document.productSelection.slowshaftconnection.value;
	var pitchradius = document.productSelection.pitchradius;
	var loadtype = document.productSelection.loadtype;
	var loadposition = document.productSelection.loadposition;
	
	if(shaftconnection==0 || shaftconnection==-1){
		pitchradius.disabled = true;
		pitchradius.style.backgroundColor='#D4D0C8';
		
		loadtype[0].disabled = true;
		loadtype[0].style.backgroundColor='#D4D0C8';
		loadtype[1].disabled = true;
		loadtype[1].style.backgroundColor='#D4D0C8';
		loadtype[2].disabled = true;
		loadtype[2].style.backgroundColor='#D4D0C8';						
		
		loadposition.disabled = true;
		loadposition.style.backgroundColor='#D4D0C8';				
	}else {
		pitchradius.disabled = false;
		pitchradius.style.backgroundColor='#FFFFFF';
		
		loadtype[0].disabled = false;
		loadtype[0].style.backgroundColor='#FFFFFF';
		loadtype[1].disabled = false;
		loadtype[1].style.backgroundColor='#FFFFFF';
		loadtype[2].disabled = false;
		loadtype[2].style.backgroundColor='#FFFFFF';					
		
		loadposition.disabled = false;
		loadposition.style.backgroundColor='#FFFFFF';	
	}
}

function speedCalculationByRatio(){
	var inputspeed = document.productSelection.inputspeed.value;
	var outputspeed = document.productSelection.outputspeed.value;
	var ratio = document.productSelection.ratio.value;
	
	var inputspeedOBJ = document.productSelection.inputspeed;
	var outputspeedOBJ = document.productSelection.outputspeed;
	var ratioOBJ = document.productSelection.ratio;	
	
	if(inputspeed!=-1 && ratio!=-1){		// 入力回転数と減速比によって計算
		outputspeed = inputspeed/ratio;
		if(outputspeed>100){
			keta = 0;
		}
		if(outputspeed<100 && outputspeed>10){
			keta = 1;
		}
		if(outputspeed<10 && outputspeed>1){
			keta = 2;
		}
		if(outputspeed<1){
			keta = 3;
		}						
		outputspeed = Keisan45(outputspeed,keta);
		outputspeedOBJ.value = outputspeed;
	}
	
	// 極数のセット
	setPole();
	
	// 電源周波数
	if(inputspeed==980 || inputspeed==1450){
		setSelectCheck('hz', '50');
	}else if(inputspeed==1165 || inputspeed==1750){
		setSelectCheck('hz', '60');
	}else {
		setSelectCheck('hz', '-1');
	}	
}

// 極数のセット
function setPole(){
	var inputspeed = document.productSelection.inputspeed.value;
	
	// 極数	
	if(inputspeed==980 || inputspeed==1165){
		pole = '6';
	}else if(inputspeed==1450 || inputspeed==1750){
		pole = '4';
	}else {
		pole = '';
	}
	document.productSelection.pole.value=pole;	
}

function speedCalculationByOutputspeed(){
	var inputspeed = document.productSelection.inputspeed.value;
	var outputspeed = document.productSelection.outputspeed.value;
	var ratio = document.productSelection.ratio.value;
	
	var inputspeedOBJ = document.productSelection.inputspeed;
	var outputspeedOBJ = document.productSelection.outputspeed;
	var ratioOBJ = document.productSelection.ratio;	
	
	if(inputspeed!=-1 && outputspeed!=""){	// 入力回転数と出力回転数によって計算
		ratio = inputspeed/outputspeed;
		
		var l = ratioOBJ.length;		
		var selectedIndex = -1;
		var selectedIndex1 = -1;
		var selectedIndex2 = -1;
		for(i=0;i<l;i++){
			if(ratioOBJ[i].value==ratio){
				selectedIndex = i;
				break;
			}else if(ratioOBJ[i].value>ratio) {
				selectedIndex2 = i;
				break;
			}else if(ratioOBJ[i].value<ratio){
				selectedIndex1 = i;
			}
		}
		if(selectedIndex==-1){	// 同じの減速比がなし
			limit1 = ratio-ratioOBJ[selectedIndex1].value;
			limit2 = ratioOBJ[selectedIndex2].value-ratio;
			
			if(limit1==limit2){		// ちょうど真中
				selectedIndex = selectedIndex2;
			}else if(limit1>limit2){
				selectedIndex = selectedIndex2;
			}else {
				selectedIndex = selectedIndex1;
			}
		}
		
		ratioOBJ[selectedIndex].selected = true;	
	}
}

function Keisan45(ValueA,Keta)
{
	Atai=1;
	for(i=0;i<Keta; i++)Atai=Atai*10;
	ValueA=Math.floor(Math.round(ValueA*Atai));
	ValueA/=Atai;
	return ValueA;
}


function setSelectCheckByNumber(name, number)
{
	var obj = document.getElementsByName(name); 
	obj[0].options[number].selected = true;
}
function getSelectNumber(name){
	var obj = document.getElementsByName(name);
	var selectNumber = 0;
	for(i=0;i<obj[0].options.length;i++){
		if(obj[0].options[i].selected){
			selectNumber = i;
			break;
		}				
	}
	return selectNumber;
}

function setMountingStyle(imagefile,code){
	var slowshafttype = document.getElementById("slowshafttype");
	var mountingstyle = document.getElementById("mountingstyle");
	var msimage = document.getElementById("msimage");

	var this_slowshafttype = "";
	var this_mountingstyle = "";
	var imagepath = "images/" + imagefile;
	
	//selectedThumb.src = imagepath;
	
	if(code=='CHHM'){
		this_slowshafttype = 'H';
		this_mountingstyle = 'H';
	}
	if(code=='CVVM'){
		this_slowshafttype = 'V';
		this_mountingstyle = 'V';
	}	
	slowshafttype.value	= this_slowshafttype;
	mountingstyle.value = this_mountingstyle;

	msimage.value = imagefile;
}

// インバータモータチェックボックスによって、周波数、入力回転数のセット
function checkInverter(){
	// インバータモータチェックボックス状態
	var invertermotor = document.getElementById("invertermotor");
	var inputspeed = document.getElementsByName("inputspeed");
	
	if(!invertermotor.checked){
		return;	
	}else{	// チェックされた
		var hz = document.getElementById("hz");
		// 60Hzではなければ
		if(hz.value!='60'){
			// もっとの入力回転数選択された番号を取得
			var selectedInputSpeed = getSelectNumber('inputspeed');				
			// 60Hzにセットする
			setSelectCheck('hz', '60');
			// 入力回転数をセットする
			setInputSpeed();
			// もともと選択されたリストに選択させる
			inputspeed[0].options[selectedInputSpeed].selected = true;
			// 極数のセット
			setPole();			
			// 出力回転数を計算させる
			speedCalculationByRatio();
			window.alert("インバータモータが選択された場合は電源周波数が60Hzのみになります\r出力回転数をご確認してください");
		}
	}
}
