////////// 近似幅の算出
// 推定タイヤ幅が許容範囲外の場合 -1 を返す
function getWid(w){
    i=Math.floor((w-minWid)/10+0.5);
    if(0<=i && i<=12){
	return calcWid[i];
    } else {
	return -1;
    }
}
////////// 直径計算
// 小数点以下0桁に統一する。
function getAcross(_rim,_wid,_flat) {
    _ans = _rim*inch+(_wid*_flat*2/1000);
    _ans = Math.floor(_ans*10+0.5);
    return _ans;
}
function getDifference(_ansAcross, _myAcross) {
    _ans = "<font color='gray'>(";
    
    if((_ansAcross - _myAcross)>0) {
        _ans += "+";
    } else if((_ansAcross - _myAcross)==0) {
        _ans += "±";
    } else {
        // Nothing to do.
    }
    _ans += eval(_ansAcross - _myAcross);
    _ans += ")</font>";

    return _ans;
}
function get60speed(_ansAcross, _myAcross) {
    _speed = eval( _myAcross * 60 /  _ansAcross );
    _speed = Math.floor(_speed*10+0.5);
    _speed = eval(_speed/10);
    
    _ans = "<BR> &nbsp; <font color='gray' size='-1'>";
    _ans += _speed;
    _ans += "km/h";
    _ans += "</font>";

    return _ans;
}
function get40speed(_ansAcross, _myAcross) {
    _speed = eval( _myAcross * 40 /  _ansAcross );
    _speed = Math.floor(_speed*10+0.5);
    _speed = eval(_speed/10);
    
    _ans = "<BR> &nbsp; <font color='gray' size='-1'>";
    _ans += _speed;
    _ans += "km/h";
    _ans += "</font>";

    return _ans;
}
function kakakuComURL( _rim, _wid, _flat ) {
    _ans = "http://kakaku.com/specsearch/7040/?st=1&_s=2&Inch=";
    _ans += _rim;
    _ans += "&Body_SS=";
    _ans += _wid;
    _ans += "&AspectRatio=";
    _ans += _flat;
    _ans += "&AspectRatio=";
    _ans += _flat;
    _ans += "&";

    return _ans;
}
////////// メイン
function ans(_v){
    doc = document.user;
    myRim=eval(doc.rim.options[doc.rim.selectedIndex].value);
    myWid=eval(doc.myWidth.options[doc.myWidth.selectedIndex].value);
    myFlt=eval(doc.myR.options[doc.myR.selectedIndex].value);
    myAcross=getAcross(myRim,myWid,myFlt);
    // 値をクッキーに保存
    setCookie(myWid,myFlt,myRim);
    // 表示する範囲の指定
    var _startRimSize = eval(doc.startRimSize.options[doc.startRimSize.selectedIndex].value);
    var _endRimSize = eval(doc.endRimSize.options[doc.endRimSize.selectedIndex].value);
    if(_startRimSize > _endRimSize) _endRimSize = _startRimSize;

    var _startWid = eval(doc.startWid.options[doc.startWid.selectedIndex].value);
    var _endWid = eval(doc.endWid.options[doc.endWid.selectedIndex].value);
    if(_startWid > _endWid) _endWid = _startWid;

    var _startFlat = eval(doc.startFlat.options[doc.startFlat.selectedIndex].value);

    // 描画開始
    w = window.open("","result","SCROLLBARS=1,RESIZABLE=1,TOOLBAR=1,MENUBAR=0,LOCATION=1,DIRECTORIES=0,STATUS=0");
    w.document.open("text/html");
    //  w.document.bgColor="white";

//    wmain = "<table border=0 width=550><TR><TD>"+br;

    wmain = "";
    //
    wmain += "<style type='text/css'>" + br;
    wmain += "<!--" + br;
    wmain += "table.results {" + br;
    wmain += "    border-top:          1px solid #777777;" + br;
    wmain += "    border-left:         1px solid #777777;" + br;
    wmain += "    border-collapse:     collapse;" + br;
    wmain += "    border-spacing:      0;" + br;
    wmain += "    empty-cells:         show;" + br;
    wmain += "}" + br;
    wmain += ".results th{" + br;
    wmain += "    border-right:1px solid #777777;" + br;
    wmain += "    border-bottom:1px solid #777777;" + br;
    wmain += "    padding: 2px 2px;" + br;
    wmain += "    text-align: center;" + br;
    wmain += "}" + br;

    wmain += ".results th.head {" + br;
    wmain += "    background-image: url(http://www.tiresize.net/rim/headerbluegrad.gif);" + br;
    wmain += "}" + br;
    wmain += ".results th.gray {" + br;
    wmain += "    background-color: #e5e5e5;" + br;
    wmain += "}" + br;

    wmain += ".results td{" + br;
    wmain += "    border-right:1px solid #777777;" + br;
    wmain += "    border-bottom:1px solid #777777;" + br;
    wmain += "    padding: 2px 2px ;" + br;
    wmain += "    white-space: nowrap;" + br;
    wmain += "    line-height: 1em;" + br;
    wmain += "}" + br;

    wmain += "A:link { color: black; }" + br;
    wmain += "A:visited { color: black; }" + br;
    wmain += "A:active { color: red; }" + br;
    wmain += "A:hover { color: black; " + br;
    wmain += "          background-color: #ff6600;" + br;
    wmain += "}" + br;
    wmain += "A { text-decoration: none; }" + br;

    wmain += "-->" + br;
    wmain += "</style>" + br;
    //
    wmain += "<br><table border=0 width=550><TR><TD>"+br;
    //
    wmain += "<table border=0 class='results'>"+br;
    wmain += "<TR><TH class='head' colspan=4 BGColor="+tableHeadColor+">あなたのタイヤの標準サイズ </TH></TR>"+br;
    wmain += "<TR><TH class='gray'>太さ(mm)</TH><TH class='gray'>偏平率(%)</TH><TH class='gray'>inch</TH><TH class='gray'>タイヤ外径(mm)</TH></TR>"+br;
    wmain += "<TR><TH>"+myWid+"</TH><TD Align=center>"+ myFlt+"</TD><TD Align=center>"+myRim+"</TD><TD Align=center>"+myAcross+"</TD></TR>"+br;
    wmain += "<"+"/table>"+br; 
    //
    wmain += "</TD><TD Align=right vAlign=middle>"+br;
    wmain += "<SMALL><FONT COLOR=darkgray>"+br;
    wmain += "Presented by<BR>TIRESIZE.NET"+br;
    wmain += "</FONT></SMALL>"+br;
    wmain += "</TD></TR>"+br;
    wmain += "</table>"+br;
    //
    wmain += "<BR>"+br;
    wmain += "<table>"+br;
    wmain += "<TR><TH NOWRAP>＜タイヤ外径計算表＞"+br;
    wmain += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;標準サイズとの差："+br;
    wmain += "&nbsp;&nbsp;&nbsp;&nbsp;"+br;
    if( 1 == _v ) {
        wmain += "<TD BGColor="+recommendColor+" NOWRAP>○5mm未満<TD NOWRAP>"+br;
        wmain += "&nbsp;&nbsp;&nbsp;&nbsp;"+br;
        wmain += "<TD BGColor="+subRecommendColor+" NOWRAP>△15mm未満<TD NOWRAP>"+br;
    } else {
        wmain += "<TD BGColor="+recommendColor+" NOWRAP>－５mm～±０<TD NOWRAP>"+br;
        wmain += "&nbsp;&nbsp;&nbsp;&nbsp;"+br;
        wmain += "<TD BGColor="+subRecommendColor+" NOWRAP>－２０mm～±０<TD NOWRAP>"+br;
    }
    wmain += "<"+"/table>"+br; 

    if(1 != _startRimSize){
	wmain += "<table border=0 class='results'>"+br;
	for(rim = _startRimSize ; rim <= _endRimSize ; rim++){
	    wmain += "<TR><TH class='head' colspan="
		+((_endWid - _startWid)/10+2)
                + " style='text-align: left;'"
		+" Align=left BGColor="+tableHeadColor+">"+rim+" inch"+br;
	    wmain += "<TR><TH class='gray' NOWRAP>偏平率／幅"+br;
	    for(wid=_startWid ; wid<=_endWid ; wid=wid+10){
		wmain += "<TH class='gray' NOWRAP>"+wid+" mm"+br;
	    }
	    for(flat=_startFlat ; flat<=80 ; flat=flat+5){
		wmain += "<TR><TH class='gray'>"+flat+br;
		for(wid=_startWid ; wid<=_endWid ; wid=wid+10){
		    ansAcross = getAcross(rim,wid,flat);
		    if( ((ansAcross-myAcross)<=0 && (ansAcross-myAcross)>-5) || 
                        ( 1==_v && Math.abs(ansAcross-myAcross)<5) 
                        ) {

                        wmain += "<TD BGColor="+recommendColor+">";
	                if((myAcross-ansAcross)==0) {
	                    wmain += "◎";
                        } else {
	                    wmain += "○";
                        }
                        wmain += "<A HREF='" + kakakuComURL( rim, wid, flat ) + "'  target='_self'>";
			wmain += ansAcross+"</A>"+br;
                        if(doc.diff.checked) {
                            wmain += getDifference(ansAcross, myAcross) + br;
                        }
		    } else if( ( 2==_v && ((ansAcross-myAcross)<=0 && (ansAcross-myAcross)>-20)) || 
                               ( 1==_v && Math.abs(ansAcross-myAcross)<15) 
                        ) {

			wmain += "<TD BGColor="+subRecommendColor+">";
			wmain += "△";
                        wmain += "<A HREF='" + kakakuComURL( rim, wid, flat ) + "'  target='_self'>";
			wmain += ansAcross+"</A>"+br;
                        if(doc.diff.checked) {
                            wmain += getDifference(ansAcross, myAcross) + br;
                        }
		    } else {
			wmain += "<TD>";
                        wmain += "<A HREF='" + kakakuComURL( rim, wid, flat ) + "'  target='_self'>";
			wmain += ansAcross+"</A>"+br;

                        if(doc.diff.checked && !doc.diffall.checked) {
                            wmain += getDifference(ansAcross, myAcross) + br;
                        }
		    }
                    if(doc.speed.checked) {
                        wmain += get40speed(ansAcross, myAcross) + br;
                    }
		}    
	    }
	}
	wmain += "<"+"/table>"+br;

    } else {
	// ここは現在使用していないコード。各サイズで最適なもののみ表示する機構。 
	wmain += "<table border=1>"+br;
	for(rim=10;rim<19;rim++){
	    wmain += "<TR><TH colspan=3 style='align: left;' Align=left BGColor="+tableHeadColor+">"+rim+" inch"+br;
	    wmain += "<TR><TH>偏平率<TH>太さ cm<TH>直径 cm"+br;
	    for(flat=30;flat<=80;flat=flat+5){
		ansWid=eval(getWid((myAcross-rim*inch)/(flat*2/1000)));
		ansAcross=(ansWid>0) ? getAcross(rim,ansWid,flat) : 0;
		ansWid=(ansWid>0) ? ansWid : "--";
		wmain += "<TR><TH>"+flat+"<TH>"+ansWid+br;
		if(Math.abs(myAcross-ansAcross)<0.5) {
		    wmain += "<TD BGColor="+recommendColor+">"+ansAcross+br;
		} else if(Math.abs(myAcross-ansAcross)<1.5) {
		    wmain += "<TD BGColor="+subRecommendColor+">"+ansAcross+br;
		} else {
		    wmain += "<TD>"+ansAcross+br;
		}
	    }
	    wmain += ""+br;
	    wmain += ""+br;
	    wmain += ""+br;
	}
	wmain += "<"+"/table>"+br;
    }
    wmain += "<BR>"+br;
    wmain += "<UL>"+br;
    wmain += "<li> 反転した数字をクリックすると価格.com様の「タイヤ スペック検索」へリンクします。"+br;
    wmain += "<li> 「タイヤ スペック検索」へのリンクは価格.com様の都合により予告なく変更される場合があります。"+br;
    wmain += "</UL>"+br;

    w.document.write(wmain);
    w.document.close();
}

