<!--
//<![CDATA[
 /* ShakuMatic.js */

///////////////////////////////////////////////////////////////////////////////
//      ShakuMatic :: shakuhachi Calculator
//      newciv.org :: mortimer fud 6/3/2008
///////////////////////////////////////////////////////////////////////////////

function roundIt(which){
        return Math.round(which*100)/100
}

function roundShaku(which){
        return Math.round(which*10)/10
}

function roundMillimeter(which){
        return Math.round(which)
}

//      cm / inch / feet converter


function cmConvert(){
        with (document.shakumatic){
                feet.value = roundIt(cm.value/30.84);
                inch.value = roundIt(cm.value/2.54);
        }
}

function inchConvert(){
        with (document.shakumatic){
                cm.value = roundIt(inch.value*2.54);
                feet.value=roundIt(inch.value/12);
        }
}

function feetConvert(){
        with (document.shakumatic){
                cm.value = roundIt(feet.value*30.48);
                inch.value = roundIt(feet.value*12);
        }
}

////////////////////////////////////////////////////////////////////////////////

//      Note Hole Distance (mm) & Percentage (example: 2.1 Shaku)
//      Hi      5       275 -- 0.428  
//      Ri      4       314 -- 0.489 
//      Chi     3       388 -- 0.604 
//      Re      2       443 -- 0.690 
//      Tsu     1       504 -- 0.785 
//      Ro              642 -- 1.000 
////////////////////////////////////////////////////////////////////////////////
//      calculate and get percentages of the length.
//      hole 1 = 78%
//      hole 2 = 68%
//      hole 3 = 58%
//      hole 4 = 48%
//      hole 5 = 41%
//
//      Average hole diameter = 10mm. varies from 9.5mm to 11mm.
//      Fine tune using hole diameter though you can only raise the pitch.
////////////////////////////////////////////////////////////////////////////////
//      0.4315
//      0.4934
//      0.6079
//      0.6923
//      0.7880  <--- Average hole diameter = 8mm. ... hum
////////////////////////////////////////////////////////////////////////////////

function calculate(form){
        form.centHole1.value = form.cm.value * config_System.percent_5.value  //0.428
        form.centHole2.value = form.cm.value * config_System.percent_4.value  //0.489
        form.centHole3.value = form.cm.value * config_System.percent_3.value  //0.604
        form.centHole4.value = form.cm.value * config_System.percent_2.value  //0.690
        form.centHole5.value = form.cm.value * config_System.percent_1.value  //0.785
        form.inchHole1.value = form.inch.value * config_System.percent_5.value  //0.428
        form.inchHole2.value = form.inch.value * config_System.percent_4.value  //0.489
        form.inchHole3.value = form.inch.value * config_System.percent_3.value  //0.604
        form.inchHole4.value = form.inch.value * config_System.percent_2.value  //0.690
        form.inchHole5.value = form.inch.value * config_System.percent_1.value  //0.785

        form.milliHole0.value = roundMillimeter(shakumatic.cm.value * 10)
        form.milliHole1.value = roundMillimeter(shakumatic.centHole1.value * 10)
        form.milliHole2.value = roundMillimeter(shakumatic.centHole2.value * 10)
        form.milliHole3.value = roundMillimeter(shakumatic.centHole3.value * 10)
        form.milliHole4.value = roundMillimeter(shakumatic.centHole4.value * 10)
        form.milliHole5.value = roundMillimeter(shakumatic.centHole5.value * 10)


        form.centHole1.value = roundIt(form.centHole1.value)
        form.centHole2.value = roundIt(form.centHole2.value)
        form.centHole3.value = roundIt(form.centHole3.value)
        form.centHole4.value = roundIt(form.centHole4.value)
        form.centHole5.value = roundIt(form.centHole5.value)
        form.inchHole1.value = roundIt(form.inchHole1.value)
        form.inchHole2.value = roundIt(form.inchHole2.value)
        form.inchHole3.value = roundIt(form.inchHole3.value)
        form.inchHole4.value = roundIt(form.inchHole4.value)
        form.inchHole5.value = roundIt(form.inchHole5.value)

        calcShaku = roundShaku(form.feet.value)

        if (calcShaku == "1.3"){
                form.shaku_size.value = calcShaku; // KEY OF G
                form.key.value = "G 4"
                form.scale1.value = "A#"
                form.scale2.value = "C"
                form.scale3.value = "D"
                form.scale4.value = "F"
                form.scale5.value = "G"
        }
        if (calcShaku == "1.4"){
                form.shaku_size.value = calcShaku; // KEY OF F#
                form.key.value = "F# 4"
                form.scale1.value = "A"
                form.scale2.value = "B"
                form.scale3.value = "C#"
                form.scale4.value = "E"
                form.scale5.value = "F#"
        }
        if (calcShaku == "1.5"){
                form.shaku_size.value = calcShaku; // KEY OF F
                form.key.value = "F 4"
                form.scale1.value = "G#"
                form.scale2.value = "A#"
                form.scale3.value = "C"
                form.scale4.value = "D#"
                form.scale5.value = "E"
        }
        if (calcShaku == "1.6"){
                form.shaku_size.value = calcShaku; // KEY OF E 
                form.key.value = "E 4"
                form.scale1.value = "G"
                form.scale2.value = "A"
                form.scale3.value = "B"
                form.scale4.value = "D"
                form.scale5.value = "E"
        }
        if (calcShaku == "1.7"){
                form.shaku_size.value = calcShaku; // KEY OF D#
                form.key.value = "D# 4"
                form.scale1.value = "F#"
                form.scale2.value = "G#"
                form.scale3.value = "A#"
                form.scale4.value = "C#"
                form.scale5.value = "D#"
        }

        if (calcShaku == "1.8"){
                form.shaku_size.value = calcShaku; // KEY OF D
                form.key.value = "D 4"
                form.scale1.value = "F"
                form.scale2.value = "G"
                form.scale3.value = "A"
                form.scale4.value = "C"
                form.scale5.value = "D"
        }
        if (calcShaku == "1.9"){
                form.shaku_size.value = calcShaku; // KEY OF C#
                form.key.value = "C# 4"
                form.scale1.value = "E"
                form.scale2.value = "F#"
                form.scale3.value = "G#"
                form.scale4.value = "B"
                form.scale5.value = "C#"
        }
        if (calcShaku == "2.0"){
                form.shaku_size.value = calcShaku; // KEY OF C
                form.key.value = "C 4"
                form.scale1.value = "D#"
                form.scale2.value = "F"
                form.scale3.value = "G"
                form.scale4.value = "A#"
                form.scale5.value = "C"
        }
        if (calcShaku == "2.1"){
                form.shaku_size.value = calcShaku; // KEY OF B
                form.key.value = "B 4"
                form.scale1.value = "D"
                form.scale2.value = "E"
                form.scale3.value = "F#"
                form.scale4.value = "A"
                form.scale5.value = "B"
        }
        if (calcShaku == "2.2"){
                form.shaku_size.value = calcShaku; // KEY OF Bb
                form.key.value = "Bb 4"
                form.scale1.value = "C#"
                form.scale2.value = "D#"
                form.scale3.value = "F"
                form.scale4.value = "G#"
                form.scale5.value = "A#"
        }
        if (calcShaku == "2.3"){
                form.shaku_size.value = calcShaku; // KEY OF A#
                form.key.value = "A# 4"
                form.scale1.value = "C#"
                form.scale2.value = "D#"
                form.scale3.value = "F"
                form.scale4.value = "G#"
                form.scale5.value = "A#"
        }
        if (calcShaku == "2.4"){
                form.shaku_size.value = calcShaku; // KEY OF A
                form.key.value = "A 4"
                form.scale1.value = "C"
                form.scale2.value = "D"
                form.scale3.value = "E"
                form.scale4.value = "G"
                form.scale5.value = "A"
        }
        if (calcShaku == "2.5"){
                form.shaku_size.value = calcShaku; // KEY OF A
                form.key.value = "A 4"
                form.scale1.value = "C"
                form.scale2.value = "D"
                form.scale3.value = "E"
                form.scale4.value = "G"
                form.scale5.value = "A"
        }
        if (calcShaku == "2.6"){
                form.shaku_size.value = calcShaku; // KEY OF G#
                form.key.value = "G# 5"
                form.scale1.value = "B"
                form.scale2.value = "C#"
                form.scale3.value = "D#"
                form.scale4.value = "F#"
                form.scale5.value = "G#"
        }
        if (calcShaku == "2.7"){
                form.shaku_size.value = calcShaku; // KEY OF G
                form.key.value = "G 5"
                form.scale1.value = "A#"
                form.scale2.value = "C"
                form.scale3.value = "D"
                form.scale4.value = "F"
                form.scale5.value = "G"
        }

        if (calcShaku > "2.7"){
                form.shaku_size.value = ""; // OOP'S TZZ to big
                form.key.value = ""
                form.scale1.value = ""
                form.scale2.value = ""
                form.scale3.value = ""
                form.scale4.value = ""
                form.scale5.value = ""
        }

        if (calcShaku < "1.3"){
                form.shaku_size.value = ""; // OOP'S TZZ to little
                form.key.value = ""
                form.scale1.value = ""
                form.scale2.value = ""
                form.scale3.value = ""
                form.scale4.value = ""
                form.scale5.value = ""
        }
}

//]]>
//-->