<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BMW E46 Wheels | OEM BMW Wheels - BmwStyleRims.com</title>
	<atom:link href="https://www.bmwstylerims.com/fr/tag/e46-fr/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bmwstylerims.com/fr/tag/e46-fr/</link>
	<description>All BMW Wheels style including technical data, color codes &#38; pictures</description>
	<lastBuildDate>Sun, 07 Nov 2021 14:04:59 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>Jantes BMW style 269</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-269/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:17:57 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série 1]]></category>
		<category><![CDATA[Jantes BMW Série 1 E87+]]></category>
		<category><![CDATA[Jantes BMW Série 3]]></category>
		<category><![CDATA[Jantes BMW Série 3 E46]]></category>
		<category><![CDATA[Jantes BMW Série 3 E90+]]></category>
		<category><![CDATA[Jantes BMW Série 5]]></category>
		<category><![CDATA[Jantes BMW Série 5 E60+]]></category>
		<category><![CDATA[Jantes BMW Série Z4]]></category>
		<category><![CDATA[Jantes BMW Série Z4 E85+]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E46]]></category>
		<category><![CDATA[E60]]></category>
		<category><![CDATA[E85]]></category>
		<category><![CDATA[E87]]></category>
		<category><![CDATA[E90]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-269/</guid>

					<description><![CDATA[<p>Le jantes BMW style 269 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 269, qui sont standard pour les bmw E87, E46, E85, E90 et E60, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-269/" aria-label="Jantes BMW style 269">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-269/">Jantes BMW style 269</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le style de jantes BMW 269 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 269 est disponible dans des diamètres de pouces 18&#8243; et 19&#8243;, avec un motif de boulons de 5&#215;120. Il s&#8217;agit du style de roue d&#8217;origine pour les séries BMW E87, E46, E85, E90 et E60, mais il pourrait convenir à d&#8217;autres modèles étant donné que les spécifications correspondent ci-dessous avec la roue de remplacement. Le style donné à Cette jante est mieux décrit comme BMW Performance Rad.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-269.jpg" alt="Jantes BMW style 269" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 269 </strong>Spécifications techniques et pièces</h3>
<p><Table></p>
<td>Nr de la pièce</td>
<td>Nom</td>
<td>Détails</td>
<td>Rechercher pièce</td>
</tr>
<tr>
<td>36116781044</td>
<td>jante alliage brillant</td>
<td>8JX18 ET:47</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116781044 jante alliage brillant" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116781045</td>
<td>jante alliage brillant</td>
<td>8 1/2JX18 ET:50</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116781045 jante alliage brillant" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36131095390</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36131095390 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136768640</td>
<td>Capuchon avec plaque clipsée</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136768640 Capuchon avec plaque clipsée" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136783536</td>
<td>Chapeau de moyeu avec bord chromé</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136783536 Chapeau de moyeu avec bord chromé" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136767547</td>
<td>Insigne BMW estampé/peint</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136767547 Insigne BMW estampé/peint" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Valve en caoutchouc</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Valve en caoutchouc" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Bouchons de valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Bouchons de valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116781042</td>
<td>jante alliage brillant</td>
<td>7 1/2JX18 ET:49</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116781042 jante alliage brillant" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116781043</td>
<td>jante alliage brillant</td>
<td>8 1/2JX18 ET:52</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116781043 jante alliage brillant" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116781046</td>
<td>jante alliage brillant</td>
<td>8JX19 ET:37</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116781046 jante alliage brillant" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116781047</td>
<td>jante alliage brillant</td>
<td>9JX19 ET:39</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116781047 jante alliage brillant" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116787612</td>
<td>Jante en alliage</td>
<td>8 1/2JX19 ET:18</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116787612 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116787613</td>
<td>Jante en alliage</td>
<td>9 1/2JX19 ET:32</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116787613 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36146774590</td>
<td>Bouchons de valve RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146774590 Bouchons de valve RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36111095436</td>
<td>Bouchons de valve RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36111095436 Bouchons de valve RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36111095375</td>
<td>Valve à vis, RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36111095375 Valve à vis, RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36146792829</td>
<td>Valve à vis, RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146792829 Valve à vis, RDC" rel="noopener">rechercher pièce</a></td>
</tr>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 269 convient: E87+ E46 E90+ E85+ E60+     </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 269 s&#8217;adaptera-t-il à votre BMW ?</h3>
<p>Gardez à l&#8217;esprit qu&#8217;il peut être dangereux de faire rouler votre BMW sur des pneus ou des roues pour lesquels ils ne sont pas conçus. Si vous n&#8217;êtes pas sûr des spécifications de vos roues actuelles, veuillez consulter notre <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">tableau et guide de montage des roues BMW</a>.</p>
<p>&nbsp;</p>
<p>Insérez les dimensions de vos roues et pneus BMW existants, ainsi que les tailles du , et le résultat sera affiché sur le diagramme. La jambe de force illustrée dans le schéma ci-dessous est uniquement à des fins d&#8217;illustration.</p>
<p>&nbsp;</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">CONFIGURATION EXISTANTE</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Largeur (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profil</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diamètre (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Déplacement (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Largeur (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Vous n'êtes pas sûr de votre taille de roue actuelle?  <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Vérifiez ici!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">NOUVELLE CONFIGURATION</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Largeur (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profil</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diamètre (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Déplacement (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Largeur (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Modifiez les valeurs pour voir le réglage.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">RÉSULTATS</h5>
                      <p> sont automatiquement appliqués ci-dessous  </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p> Le schéma est à afficher uniquement pour vous aider à visualiser le réglage de vos pneus et roues pour votre nouvelle configuration. </p>
                          <br>
                          <p> Largeur du pneu : la largeur de votre pneu en millimètres. <strong> 195 </strong> / 55ZR15 </p>
                          <p> Profil du pneu : le rapport entre la largeur de la paroi du pneu et la largeur du pneu. 195 / <strong> 55 </strong> ZR15 </p>
                          <p> Diamètre des pneus - Le diamètre des roues en pouces. 195 / 55ZR <strong> 15 </strong> </p>
                          <p> Decalage : la distance entre le centre de la roue et la face de montage en mm. ET <strong> 20 </strong> </p>
                          <p> Largeur de la jante : la largeur des jantes en pouces. <strong> 7.5 </strong> JX17 </p> 
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Pouce</th>
                        <th scope="col" class="tb_orgwheel">Roue d'origine</th>
                        <th scope="col" class="tb_newwheel">Nouvelle roue</th>
                        <th scope="col">Différence</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diamètre</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circonférence</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Paroi latérale</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Largeur</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Tours de roue</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>Quelle est la pression des pneus recommandée pour le Jantes BMW style 269 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 269 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série 1 et le Jantes BMW Série 3, ont une pression de pneu recommandée de 32 PSI (2,2 bars). Cependant, vous devez toujours vérifier cela pour votre modèle BMW spécifique. Vous pouvez connaître la pression des pneus recommandée pour votre BMW, en vérifiant l&#8217;autocollant sur le bord intérieur de la porte du conducteur ou, consultez votre manuel du propriétaire si vous avez toujours le même type de pneus que celui fourni avec le véhicule.</p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-269/">Jantes BMW style 269</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 170</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-170/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:14:50 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série 3]]></category>
		<category><![CDATA[Jantes BMW Série 3 E46]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E46]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-170/</guid>

					<description><![CDATA[<p>Le Jantes BMW style 170 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 170, qui sont standard pour la bmw E46, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-170/" aria-label="Jantes BMW style 170">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-170/">Jantes BMW style 170</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le style de jantes BMW 170 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 170 est disponible dans des diamètres de 17&#8243; pouces, avec un motif de boulon de 5&#215;120. Cette jante rare est le style de roue d&#8217;origine pour la série bmw E46, mais elle peut convenir à d&#8217;autres modèles étant donné que les spécifications correspondent ci-dessous avec la roue de remplacement .Le style donné à Cette jante est mieux décrit comme Star Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2020/04/BMW-wheel-style-170.jpg" alt="Jantes BMW style 170" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 170 </strong>Spécifications techniques et pièces</h3>
<p><Table></p>
<td>Nr de la pièce</td>
<td>Nom</td>
<td>Détails</td>
<td>Rechercher pièce</td>
</tr>
<tr>
<td>36116766740</td>
<td>Jante en alliage</td>
<td>8JX17 ET:47</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116766740 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136783536</td>
<td>Chapeau de moyeu avec bord chromé</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136783536 Chapeau de moyeu avec bord chromé" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136767547</td>
<td>Insigne BMW estampé/peint</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136767547 Insigne BMW estampé/peint" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Valve en caoutchouc</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Valve en caoutchouc" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Bouchons de valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Bouchons de valve" rel="noopener">rechercher pièce</a></td>
</tr>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 170 convient: E46         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 170 s&#8217;adaptera-t-il à votre BMW ?</h3>
<p>Gardez à l&#8217;esprit qu&#8217;il peut être dangereux de faire rouler votre BMW sur des pneus ou des roues pour lesquels ils ne sont pas conçus. Si vous n&#8217;êtes pas sûr des spécifications de vos roues actuelles, veuillez consulter notre <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">tableau et guide de montage des roues BMW</a>.</p>
<p>&nbsp;</p>
<p>Insérez les dimensions de vos roues et pneus BMW existants, ainsi que les tailles du , et le résultat sera affiché sur le diagramme. La jambe de force illustrée dans le schéma ci-dessous est uniquement à des fins d&#8217;illustration.</p>
<p>&nbsp;</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">CONFIGURATION EXISTANTE</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Largeur (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profil</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diamètre (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Déplacement (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Largeur (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Vous n'êtes pas sûr de votre taille de roue actuelle?  <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Vérifiez ici!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">NOUVELLE CONFIGURATION</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Largeur (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profil</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diamètre (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Déplacement (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Largeur (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Modifiez les valeurs pour voir le réglage.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">RÉSULTATS</h5>
                      <p> sont automatiquement appliqués ci-dessous  </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p> Le schéma est à afficher uniquement pour vous aider à visualiser le réglage de vos pneus et roues pour votre nouvelle configuration. </p>
                          <br>
                          <p> Largeur du pneu : la largeur de votre pneu en millimètres. <strong> 195 </strong> / 55ZR15 </p>
                          <p> Profil du pneu : le rapport entre la largeur de la paroi du pneu et la largeur du pneu. 195 / <strong> 55 </strong> ZR15 </p>
                          <p> Diamètre des pneus - Le diamètre des roues en pouces. 195 / 55ZR <strong> 15 </strong> </p>
                          <p> Decalage : la distance entre le centre de la roue et la face de montage en mm. ET <strong> 20 </strong> </p>
                          <p> Largeur de la jante : la largeur des jantes en pouces. <strong> 7.5 </strong> JX17 </p> 
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Pouce</th>
                        <th scope="col" class="tb_orgwheel">Roue d'origine</th>
                        <th scope="col" class="tb_newwheel">Nouvelle roue</th>
                        <th scope="col">Différence</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diamètre</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circonférence</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Paroi latérale</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Largeur</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Tours de roue</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>Quelle est la pression des pneus recommandée pour le Jantes BMW style 170 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 170 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série 3 et le , ont une pression de pneu recommandée de 32 PSI (2,2 bars). Cependant, vous devez toujours vérifier cela pour votre modèle BMW spécifique. Vous pouvez connaître la pression des pneus recommandée pour votre BMW, en vérifiant l&#8217;autocollant sur le bord intérieur de la porte du conducteur ou, consultez votre manuel du propriétaire si vous avez toujours le même type de pneus que celui fourni avec le véhicule.</p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-170/">Jantes BMW style 170</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 169</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-169/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:14:50 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série 3]]></category>
		<category><![CDATA[Jantes BMW Série 3 E46]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E46]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-169/</guid>

					<description><![CDATA[<p>Le jantes BMW style 169 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 169, qui sont standard pour la bmw E46, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-169/" aria-label="Jantes BMW style 169">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-169/">Jantes BMW style 169</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le style de jantes BMW 169 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 169 est disponible dans des diamètres de 16&#8243; pouces, avec un motif de boulon de 5&#215;120. Cette jante rare est le style de roue d&#8217;origine pour la série bmw E46, mais elle peut convenir à d&#8217;autres modèles étant donné que les spécifications correspondent ci-dessous avec la roue de remplacement .Le style donné à Cette jante est mieux décrit comme Star Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2020/04/BMW-wheel-style-169.jpg" alt="Jantes BMW style 169" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 169 </strong>Spécifications techniques et pièces</h3>
<p><Table></p>
<td>Nr de la pièce</td>
<td>Nom</td>
<td>Détails</td>
<td>Rechercher pièce</td>
</tr>
<tr>
<td>36116766734</td>
<td>Jante en alliage</td>
<td>7JX16 ET:47</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116766734 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136783536</td>
<td>Chapeau de moyeu avec bord chromé</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136783536 Chapeau de moyeu avec bord chromé" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136767547</td>
<td>Insigne BMW estampé/peint</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136767547 Insigne BMW estampé/peint" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121178869</td>
<td>Valve en caoutchouc</td>
<td>L=48,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121178869 Valve en caoutchouc" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Bouchons de valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Bouchons de valve" rel="noopener">rechercher pièce</a></td>
</tr>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 169 convient: E46         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 169 s&#8217;adaptera-t-il à votre BMW ?</h3>
<p>Gardez à l&#8217;esprit qu&#8217;il peut être dangereux de faire rouler votre BMW sur des pneus ou des roues pour lesquels ils ne sont pas conçus. Si vous n&#8217;êtes pas sûr des spécifications de vos roues actuelles, veuillez consulter notre <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">tableau et guide de montage des roues BMW</a>.</p>
<p>&nbsp;</p>
<p>Insérez les dimensions de vos roues et pneus BMW existants, ainsi que les tailles du , et le résultat sera affiché sur le diagramme. La jambe de force illustrée dans le schéma ci-dessous est uniquement à des fins d&#8217;illustration.</p>
<p>&nbsp;</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">CONFIGURATION EXISTANTE</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Largeur (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profil</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diamètre (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Déplacement (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Largeur (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Vous n'êtes pas sûr de votre taille de roue actuelle?  <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Vérifiez ici!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">NOUVELLE CONFIGURATION</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Largeur (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profil</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diamètre (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Déplacement (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Largeur (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Modifiez les valeurs pour voir le réglage.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">RÉSULTATS</h5>
                      <p> sont automatiquement appliqués ci-dessous  </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p> Le schéma est à afficher uniquement pour vous aider à visualiser le réglage de vos pneus et roues pour votre nouvelle configuration. </p>
                          <br>
                          <p> Largeur du pneu : la largeur de votre pneu en millimètres. <strong> 195 </strong> / 55ZR15 </p>
                          <p> Profil du pneu : le rapport entre la largeur de la paroi du pneu et la largeur du pneu. 195 / <strong> 55 </strong> ZR15 </p>
                          <p> Diamètre des pneus - Le diamètre des roues en pouces. 195 / 55ZR <strong> 15 </strong> </p>
                          <p> Decalage : la distance entre le centre de la roue et la face de montage en mm. ET <strong> 20 </strong> </p>
                          <p> Largeur de la jante : la largeur des jantes en pouces. <strong> 7.5 </strong> JX17 </p> 
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Pouce</th>
                        <th scope="col" class="tb_orgwheel">Roue d'origine</th>
                        <th scope="col" class="tb_newwheel">Nouvelle roue</th>
                        <th scope="col">Différence</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diamètre</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circonférence</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Paroi latérale</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Largeur</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Tours de roue</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>Quelle est la pression des pneus recommandée pour le Jantes BMW style 169 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 169 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série 3 et le , ont une pression de pneu recommandée de 32 PSI (2,2 bars). Cependant, vous devez toujours vérifier cela pour votre modèle BMW spécifique. Vous pouvez connaître la pression des pneus recommandée pour votre BMW, en vérifiant l&#8217;autocollant sur le bord intérieur de la porte du conducteur ou, consultez votre manuel du propriétaire si vous avez toujours le même type de pneus que celui fourni avec le véhicule.</p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-169/">Jantes BMW style 169</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 163</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-163/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:14:40 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série 3]]></category>
		<category><![CDATA[Jantes BMW Série 3 E46]]></category>
		<category><![CDATA[Jantes BMW Série M]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E46]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-163/</guid>

					<description><![CDATA[<p>Le jantes BMW style 163 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 163, qui sont standard pour la bmw E46, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-163/" aria-label="Jantes BMW style 163">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-163/">Jantes BMW style 163</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le style de jantes BMW 163 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 163 est disponible dans des diamètres de 19&#8243; pouces, avec un motif de boulon de 5&#215;120. Cette jante rare est le style de roue d&#8217;origine pour la série bmw E46, mais elle peut convenir à d&#8217;autres modèles étant donné que les spécifications correspondent ci-dessous avec la roue de remplacement .Le style donné à Cette jante est mieux décrit comme M Cross Spoke Remarques : *Pour les véhicules avec pack Compétition</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-163.jpg" alt="Jantes BMW style 163" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 163 </strong>Spécifications techniques et pièces</h3>
<p><Table></p>
<td>Nr de la pièce</td>
<td>Nom</td>
<td>Détails</td>
<td>Rechercher pièce</td>
</tr>
<tr>
<td>36112282895</td>
<td>Jante en alliage</td>
<td>8JX19 ET:47</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112282895 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36112282999</td>
<td>Jante en alliage</td>
<td>91/2JX19 ET:27</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112282999 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136783536</td>
<td>Chapeau de moyeu avec bord chromé</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136783536 Chapeau de moyeu avec bord chromé" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136767547</td>
<td>Insigne BMW estampé/peint</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136767547 Insigne BMW estampé/peint" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Valve en caoutchouc</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Valve en caoutchouc" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Bouchons de valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Bouchons de valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36112228660</td>
<td>Insigne M</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112228660 Insigne M" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36112282650</td>
<td>Jante en alliage</td>
<td>81/2JX19 ET:44</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112282650 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 163 convient: E46         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 163 s&#8217;adaptera-t-il à votre BMW ?</h3>
<p>Gardez à l&#8217;esprit qu&#8217;il peut être dangereux de faire rouler votre BMW sur des pneus ou des roues pour lesquels ils ne sont pas conçus. Si vous n&#8217;êtes pas sûr des spécifications de vos roues actuelles, veuillez consulter notre <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">tableau et guide de montage des roues BMW</a>.</p>
<p>&nbsp;</p>
<p>Insérez les dimensions de vos roues et pneus BMW existants, ainsi que les tailles du , et le résultat sera affiché sur le diagramme. La jambe de force illustrée dans le schéma ci-dessous est uniquement à des fins d&#8217;illustration.</p>
<p>&nbsp;</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">CONFIGURATION EXISTANTE</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Largeur (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profil</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diamètre (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Déplacement (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Largeur (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Vous n'êtes pas sûr de votre taille de roue actuelle?  <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Vérifiez ici!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">NOUVELLE CONFIGURATION</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Largeur (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profil</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diamètre (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Déplacement (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Largeur (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Modifiez les valeurs pour voir le réglage.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">RÉSULTATS</h5>
                      <p> sont automatiquement appliqués ci-dessous  </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p> Le schéma est à afficher uniquement pour vous aider à visualiser le réglage de vos pneus et roues pour votre nouvelle configuration. </p>
                          <br>
                          <p> Largeur du pneu : la largeur de votre pneu en millimètres. <strong> 195 </strong> / 55ZR15 </p>
                          <p> Profil du pneu : le rapport entre la largeur de la paroi du pneu et la largeur du pneu. 195 / <strong> 55 </strong> ZR15 </p>
                          <p> Diamètre des pneus - Le diamètre des roues en pouces. 195 / 55ZR <strong> 15 </strong> </p>
                          <p> Decalage : la distance entre le centre de la roue et la face de montage en mm. ET <strong> 20 </strong> </p>
                          <p> Largeur de la jante : la largeur des jantes en pouces. <strong> 7.5 </strong> JX17 </p> 
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Pouce</th>
                        <th scope="col" class="tb_orgwheel">Roue d'origine</th>
                        <th scope="col" class="tb_newwheel">Nouvelle roue</th>
                        <th scope="col">Différence</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diamètre</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circonférence</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Paroi latérale</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Largeur</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Tours de roue</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>Quelle est la pression des pneus recommandée pour le Jantes BMW style 163 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 163 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série 3 et le , ont une pression de pneu recommandée de 32 PSI (2,2 bars). Cependant, vous devez toujours vérifier cela pour votre modèle BMW spécifique. Vous pouvez connaître la pression des pneus recommandée pour votre BMW, en vérifiant l&#8217;autocollant sur le bord intérieur de la porte du conducteur ou, consultez votre manuel du propriétaire si vous avez toujours le même type de pneus que celui fourni avec le véhicule.</p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-163/">Jantes BMW style 163</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 164</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-164/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:14:40 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série 3]]></category>
		<category><![CDATA[Jantes BMW Série 3 E46]]></category>
		<category><![CDATA[Jantes BMW Série M]]></category>
		<category><![CDATA[Jantes BMW Série Z4]]></category>
		<category><![CDATA[Jantes BMW Série Z4 E85+]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E46]]></category>
		<category><![CDATA[E85]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-164/</guid>

					<description><![CDATA[<p>Le jantes BMW style 164 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 164, qui sont standard pour les bmw E46 et E85, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-164/" aria-label="Jantes BMW style 164">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-164/">Jantes BMW style 164</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le style de jantes BMW 164 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 164 est disponible dans des diamètres de 18&#8243; pouces, avec un motif de boulon de 5&#215;120. Il s&#8217;agit du style de roue d&#8217;origine pour les séries bmw E46 et E85, mais elle peut s&#8217;adapter à d&#8217;autres modèles étant donné que les spécifications correspondent ci-dessous avec la roue de remplacement .Le style donné à Cette jante est mieux décrit comme à rayons doubles M. Remarques : *Uniquement pour les pneus d&#8217;hiver</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-164.jpg" alt="Jantes BMW style 164" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 164 </strong>Spécifications techniques et pièces</h3>
<p><Table></p>
<td>Nr de la pièce</td>
<td>Nom</td>
<td>Détails</td>
<td>Rechercher pièce</td>
</tr>
<tr>
<td>36112282591</td>
<td>Jante en alliage</td>
<td>71/2JX18 ET:25</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112282591 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36112282590</td>
<td>Jante en alliage</td>
<td>71/2JX18 ET:41</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112282590 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136783536</td>
<td>Chapeau de moyeu avec bord chromé</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136783536 Chapeau de moyeu avec bord chromé" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136767547</td>
<td>Insigne BMW estampé/peint</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136767547 Insigne BMW estampé/peint" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Valve en caoutchouc</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Valve en caoutchouc" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Bouchons de valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Bouchons de valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36112228660</td>
<td>Insigne M</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112228660 Insigne M" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117836851</td>
<td>Jante en alliage</td>
<td>71/2JX18 ET:20</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117836851 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36131095390</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36131095390 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136768640</td>
<td>Capuchon avec plaque clipsée</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136768640 Capuchon avec plaque clipsée" rel="noopener">rechercher pièce</a></td>
</tr>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 164 convient: E46 E85+        </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 164 s&#8217;adaptera-t-il à votre BMW ?</h3>
<p>Gardez à l&#8217;esprit qu&#8217;il peut être dangereux de faire rouler votre BMW sur des pneus ou des roues pour lesquels ils ne sont pas conçus. Si vous n&#8217;êtes pas sûr des spécifications de vos roues actuelles, veuillez consulter notre <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">tableau et guide de montage des roues BMW</a>.</p>
<p>&nbsp;</p>
<p>Insérez les dimensions de vos roues et pneus BMW existants, ainsi que les tailles du , et le résultat sera affiché sur le diagramme. La jambe de force illustrée dans le schéma ci-dessous est uniquement à des fins d&#8217;illustration.</p>
<p>&nbsp;</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">CONFIGURATION EXISTANTE</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Largeur (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profil</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diamètre (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Déplacement (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Largeur (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Vous n'êtes pas sûr de votre taille de roue actuelle?  <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Vérifiez ici!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">NOUVELLE CONFIGURATION</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Largeur (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profil</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diamètre (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Déplacement (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Largeur (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Modifiez les valeurs pour voir le réglage.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">RÉSULTATS</h5>
                      <p> sont automatiquement appliqués ci-dessous  </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p> Le schéma est à afficher uniquement pour vous aider à visualiser le réglage de vos pneus et roues pour votre nouvelle configuration. </p>
                          <br>
                          <p> Largeur du pneu : la largeur de votre pneu en millimètres. <strong> 195 </strong> / 55ZR15 </p>
                          <p> Profil du pneu : le rapport entre la largeur de la paroi du pneu et la largeur du pneu. 195 / <strong> 55 </strong> ZR15 </p>
                          <p> Diamètre des pneus - Le diamètre des roues en pouces. 195 / 55ZR <strong> 15 </strong> </p>
                          <p> Decalage : la distance entre le centre de la roue et la face de montage en mm. ET <strong> 20 </strong> </p>
                          <p> Largeur de la jante : la largeur des jantes en pouces. <strong> 7.5 </strong> JX17 </p> 
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Pouce</th>
                        <th scope="col" class="tb_orgwheel">Roue d'origine</th>
                        <th scope="col" class="tb_newwheel">Nouvelle roue</th>
                        <th scope="col">Différence</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diamètre</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circonférence</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Paroi latérale</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Largeur</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Tours de roue</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>Quelle est la pression des pneus recommandée pour le Jantes BMW style 164 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 164 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série 3 et le Jantes BMW Série Z4, ont une pression de pneu recommandée de 32 PSI (2,2 bars). Cependant, vous devez toujours vérifier cela pour votre modèle BMW spécifique. Vous pouvez connaître la pression des pneus recommandée pour votre BMW, en vérifiant l&#8217;autocollant sur le bord intérieur de la porte du conducteur ou, consultez votre manuel du propriétaire si vous avez toujours le même type de pneus que celui fourni avec le véhicule.</p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-164/">Jantes BMW style 164</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 152</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-152/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:14:19 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série 3]]></category>
		<category><![CDATA[Jantes BMW Série 3 E46]]></category>
		<category><![CDATA[Jantes BMW Série 3 E90+]]></category>
		<category><![CDATA[Jantes BMW Série 5]]></category>
		<category><![CDATA[Jantes BMW Série 5 E60+]]></category>
		<category><![CDATA[Jantes BMW Série 6]]></category>
		<category><![CDATA[Jantes BMW Série 6 E63+]]></category>
		<category><![CDATA[Jantes BMW Série 7]]></category>
		<category><![CDATA[Jantes BMW Série 7 E65+]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E46]]></category>
		<category><![CDATA[E53]]></category>
		<category><![CDATA[E60]]></category>
		<category><![CDATA[E63]]></category>
		<category><![CDATA[E65]]></category>
		<category><![CDATA[E85]]></category>
		<category><![CDATA[E90]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-152/</guid>

					<description><![CDATA[<p>Le jantes BMW style 152 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 152, qui sont de série pour les bmw E60, E90, E46, E85, E53, E63 et E65, mais peuvent convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-152/" aria-label="Jantes BMW style 152">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-152/">Jantes BMW style 152</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le style de jantes BMW 152 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 152 est disponible en diamètres de pouces 18&#8243;, 19&#8243; et 20&#8243;, avec un motif de boulon de 5&#215;120. C&#8217;est le style de roue d&#8217;origine pour les séries bmw E60, E90, E46, E85, E53, E63 et E65 , cependant, il peut s&#8217;adapter à d&#8217;autres modèles étant donné que les spécifications ci-dessous correspondent à la roue de remplacement. Le style donné à Cette jante est mieux décrit comme un rayon en V individuel.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-152.jpg" alt="Jantes BMW style 152" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 152 </strong>Spécifications techniques et pièces</h3>
<p><Table></p>
<td>Nr de la pièce</td>
<td>Nom</td>
<td>Détails</td>
<td>Rechercher pièce</td>
</tr>
<tr>
<td>36117897252</td>
<td>Jante en alliage</td>
<td>8JX18 ET:47</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117897252 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117897253</td>
<td>Jante en alliage</td>
<td>81/2JX18 ET:50</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117897253 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36137849415</td>
<td>Hub cap, silver</td>
<td>D=173MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36137849415 Hub cap, silver" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136767550</td>
<td>BMW insignia stamped with adhesive film</td>
<td>D=64,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136767550 BMW insignia stamped with adhesive film" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121178869</td>
<td>Valve en caoutchouc</td>
<td>L=48,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121178869 Valve en caoutchouc" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Bouchons de valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Bouchons de valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36137897226</td>
<td>Emblem &#8220;BMW Individual&#8221;</td>
<td></td>
<td><a target="_blank" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36132294421</td>
<td>Hub cap puller</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36132294421 Hub cap puller" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117906988</td>
<td>Jante en alliage</td>
<td>81/2JX18 ET:37</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117906988 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36118036932</td>
<td>Jante en alliage</td>
<td>81/2JX18 ET:37</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36118036932 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36118036931</td>
<td>Jante en alliage</td>
<td>8JX18 ET:34</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36118036931 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117897260</td>
<td>Jante en alliage</td>
<td>8JX18 ET:20</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117897260 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117897258</td>
<td>Jante en alliage</td>
<td>8JX18 ET:43</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117897258 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117897256</td>
<td>Jante en alliage</td>
<td>81/2JX19 ET:14</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117897256 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117897257</td>
<td>Jante en alliage</td>
<td>9JX19 ET:18</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117897257 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117897250</td>
<td>Jante en alliage, silver</td>
<td>9JX20 ET:24</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117897250 Jante en alliage, silver" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117973249</td>
<td>Disc wheel, light alloy, kamacit-grau</td>
<td>9JX20 ET:24</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117973249 Disc wheel, light alloy, kamacit-grau" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117897251</td>
<td>Jante en alliage, silver</td>
<td>10JX20 ET:24</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117897251 Jante en alliage, silver" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117973251</td>
<td>Disc wheel, light alloy, kamacit-grau</td>
<td>10JX20 ET:24</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117973251 Disc wheel, light alloy, kamacit-grau" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781152</td>
<td>Boulon de roue noir</td>
<td>M14X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781152 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36137849418</td>
<td>Hub cover, kamacit-grau</td>
<td>D=173MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36137849418 Hub cover, kamacit-grau" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117897254</td>
<td>Jante en alliage</td>
<td>9JX19 ET:48</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117897254 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117897255</td>
<td>Jante en alliage</td>
<td>10JX19 ET45</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36117897255 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136756298</td>
<td>Boulon de roue</td>
<td>M14X1,5/SW19MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136756298 Boulon de roue" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781153</td>
<td>Boulon de roue</td>
<td>M14X1,5/SW17MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781153 Boulon de roue" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36146792828</td>
<td>Screw-in valve, RDC</td>
<td>SCHWARZ</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146792828 Screw-in valve, RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36111095436</td>
<td>Bouchons de valve RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36111095436 Bouchons de valve RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36146792831</td>
<td>Screw-in valve, RDC</td>
<td>GELB</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146792831 Screw-in valve, RDC" rel="noopener">rechercher pièce</a></td>
</tr>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 152 convient: E46 E90+ E60+ E63+ E65+ E53 E85+   </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 152 s&#8217;adaptera-t-il à votre BMW ?</h3>
<p>Gardez à l&#8217;esprit qu&#8217;il peut être dangereux de faire rouler votre BMW sur des pneus ou des roues pour lesquels ils ne sont pas conçus. Si vous n&#8217;êtes pas sûr des spécifications de vos roues actuelles, veuillez consulter notre <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">tableau et guide de montage des roues BMW</a>.</p>
<p>&nbsp;</p>
<p>Insérez les dimensions de vos roues et pneus BMW existants, ainsi que les tailles du , et le résultat sera affiché sur le diagramme. La jambe de force illustrée dans le schéma ci-dessous est uniquement à des fins d&#8217;illustration.</p>
<p>&nbsp;</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">CONFIGURATION EXISTANTE</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Largeur (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profil</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diamètre (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Déplacement (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Largeur (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Vous n'êtes pas sûr de votre taille de roue actuelle?  <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Vérifiez ici!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">NOUVELLE CONFIGURATION</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Largeur (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profil</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diamètre (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Déplacement (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Largeur (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Modifiez les valeurs pour voir le réglage.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">RÉSULTATS</h5>
                      <p> sont automatiquement appliqués ci-dessous  </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p> Le schéma est à afficher uniquement pour vous aider à visualiser le réglage de vos pneus et roues pour votre nouvelle configuration. </p>
                          <br>
                          <p> Largeur du pneu : la largeur de votre pneu en millimètres. <strong> 195 </strong> / 55ZR15 </p>
                          <p> Profil du pneu : le rapport entre la largeur de la paroi du pneu et la largeur du pneu. 195 / <strong> 55 </strong> ZR15 </p>
                          <p> Diamètre des pneus - Le diamètre des roues en pouces. 195 / 55ZR <strong> 15 </strong> </p>
                          <p> Decalage : la distance entre le centre de la roue et la face de montage en mm. ET <strong> 20 </strong> </p>
                          <p> Largeur de la jante : la largeur des jantes en pouces. <strong> 7.5 </strong> JX17 </p> 
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Pouce</th>
                        <th scope="col" class="tb_orgwheel">Roue d'origine</th>
                        <th scope="col" class="tb_newwheel">Nouvelle roue</th>
                        <th scope="col">Différence</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diamètre</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circonférence</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Paroi latérale</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Largeur</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Tours de roue</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>Quelle est la pression des pneus recommandée pour le Jantes BMW style 152 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 152 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série 3 et le Jantes BMW Série 3, ont une pression de pneu recommandée de 32 PSI (2,2 bars). Cependant, vous devez toujours vérifier cela pour votre modèle BMW spécifique. Vous pouvez connaître la pression des pneus recommandée pour votre BMW, en vérifiant l&#8217;autocollant sur le bord intérieur de la porte du conducteur ou, consultez votre manuel du propriétaire si vous avez toujours le même type de pneus que celui fourni avec le véhicule.</p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-152/">Jantes BMW style 152</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 119</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-119/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:13:04 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série 3]]></category>
		<category><![CDATA[Jantes BMW Série 3 E46]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E46]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-119/</guid>

					<description><![CDATA[<p>Le jantes BMW style 119 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 119, qui sont standard pour la bmw E46, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-119/" aria-label="Jantes BMW style 119">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-119/">Jantes BMW style 119</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le style de jantes BMW 119 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 119 est disponible dans des diamètres de 17&#8243; pouces, avec un motif de boulon de 5&#215;120. Cette jante rare est le style de roue d&#8217;origine pour la série bmw E46, mais elle peut convenir à d&#8217;autres modèles étant donné que les spécifications correspondent ci-dessous avec la roue de remplacement .Le style donné à Cette jante est mieux décrit comme Star Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-119.jpg" alt="Jantes BMW style 119" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 119 </strong>Spécifications techniques et pièces</h3>
<p><Table></p>
<td>Nr de la pièce</td>
<td>Nom</td>
<td>Détails</td>
<td>Rechercher pièce</td>
</tr>
<tr>
<td>36116758987</td>
<td>Jante en alliage</td>
<td>8JX17 ET:47</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116758987 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136783536</td>
<td>Chapeau de moyeu avec bord chromé</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136783536 Chapeau de moyeu avec bord chromé" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136767547</td>
<td>Insigne BMW estampé/peint</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136767547 Insigne BMW estampé/peint" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Valve en caoutchouc</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Valve en caoutchouc" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Bouchons de valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Bouchons de valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36146792829</td>
<td>Valve à vis, RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146792829 Valve à vis, RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36111095436</td>
<td>Bouchons de valve RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36111095436 Bouchons de valve RDC" rel="noopener">rechercher pièce</a></td>
</tr>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 119 convient: E46         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 119 s&#8217;adaptera-t-il à votre BMW ?</h3>
<p>Gardez à l&#8217;esprit qu&#8217;il peut être dangereux de faire rouler votre BMW sur des pneus ou des roues pour lesquels ils ne sont pas conçus. Si vous n&#8217;êtes pas sûr des spécifications de vos roues actuelles, veuillez consulter notre <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">tableau et guide de montage des roues BMW</a>.</p>
<p>&nbsp;</p>
<p>Insérez les dimensions de vos roues et pneus BMW existants, ainsi que les tailles du , et le résultat sera affiché sur le diagramme. La jambe de force illustrée dans le schéma ci-dessous est uniquement à des fins d&#8217;illustration.</p>
<p>&nbsp;</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">CONFIGURATION EXISTANTE</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Largeur (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profil</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diamètre (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Déplacement (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Largeur (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Vous n'êtes pas sûr de votre taille de roue actuelle?  <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Vérifiez ici!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">NOUVELLE CONFIGURATION</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Largeur (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profil</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diamètre (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Déplacement (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Largeur (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Modifiez les valeurs pour voir le réglage.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">RÉSULTATS</h5>
                      <p> sont automatiquement appliqués ci-dessous  </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p> Le schéma est à afficher uniquement pour vous aider à visualiser le réglage de vos pneus et roues pour votre nouvelle configuration. </p>
                          <br>
                          <p> Largeur du pneu : la largeur de votre pneu en millimètres. <strong> 195 </strong> / 55ZR15 </p>
                          <p> Profil du pneu : le rapport entre la largeur de la paroi du pneu et la largeur du pneu. 195 / <strong> 55 </strong> ZR15 </p>
                          <p> Diamètre des pneus - Le diamètre des roues en pouces. 195 / 55ZR <strong> 15 </strong> </p>
                          <p> Decalage : la distance entre le centre de la roue et la face de montage en mm. ET <strong> 20 </strong> </p>
                          <p> Largeur de la jante : la largeur des jantes en pouces. <strong> 7.5 </strong> JX17 </p> 
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Pouce</th>
                        <th scope="col" class="tb_orgwheel">Roue d'origine</th>
                        <th scope="col" class="tb_newwheel">Nouvelle roue</th>
                        <th scope="col">Différence</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diamètre</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circonférence</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Paroi latérale</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Largeur</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Tours de roue</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>Quelle est la pression des pneus recommandée pour le Jantes BMW style 119 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 119 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série 3 et le , ont une pression de pneu recommandée de 32 PSI (2,2 bars). Cependant, vous devez toujours vérifier cela pour votre modèle BMW spécifique. Vous pouvez connaître la pression des pneus recommandée pour votre BMW, en vérifiant l&#8217;autocollant sur le bord intérieur de la porte du conducteur ou, consultez votre manuel du propriétaire si vous avez toujours le même type de pneus que celui fourni avec le véhicule.</p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-119/">Jantes BMW style 119</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 101</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-101/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:12:33 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série 3]]></category>
		<category><![CDATA[Jantes BMW Série 3 E46]]></category>
		<category><![CDATA[Jantes BMW Série 3 E90+]]></category>
		<category><![CDATA[Jantes BMW Série 5]]></category>
		<category><![CDATA[Jantes BMW Série 5 E60+]]></category>
		<category><![CDATA[Jantes BMW Série 6]]></category>
		<category><![CDATA[Jantes BMW Série 6 E63+]]></category>
		<category><![CDATA[Jantes BMW Série 7]]></category>
		<category><![CDATA[Jantes BMW Série 7 E65+]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E46]]></category>
		<category><![CDATA[E60]]></category>
		<category><![CDATA[E63]]></category>
		<category><![CDATA[E65]]></category>
		<category><![CDATA[E85]]></category>
		<category><![CDATA[E90]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-101/</guid>

					<description><![CDATA[<p>Le jantes BMW style 101 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 101, qui sont de série pour les bmw E46, E85, E60, E90, E65 et E63, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-101/" aria-label="Jantes BMW style 101">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-101/">Jantes BMW style 101</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le style de jantes BMW 101 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 101 est disponible en diamètres de pouces 18&#8243;, 19&#8243; et 20&#8243;, avec un motif de boulon de 5&#215;120. C&#8217;est le style de roue d&#8217;origine pour les séries bmw E46, E85, E60, E90, E65 et E63, cependant il peut s&#8217;adapter à d&#8217;autres modèles étant donné que les spécifications ci-dessous correspondent à la roue de remplacement. Le style donné à Cette jante est mieux décrit comme M Cross Spoke Split Rim.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-101.jpg" alt="Jantes BMW style 101" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 101 </strong>Spécifications techniques et pièces</h3>
<p><Table></p>
<td>Nr de la pièce</td>
<td>Nom</td>
<td>Détails</td>
<td>Rechercher pièce</td>
</tr>
<tr>
<td>36116759896</td>
<td>Two-piece Jante en alliage</td>
<td>8JX18 ET:47</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116759896 Two-piece Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116759897</td>
<td>Two-piece Jante en alliage</td>
<td>8 1/2JX18 ET:50</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116759897 Two-piece Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36131095390</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36131095390 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136757372</td>
<td>Hub cap</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136757372 Hub cap" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136758569</td>
<td>BMW insignia stamped with adhesive film</td>
<td>D=70MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136758569 BMW insignia stamped with adhesive film" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36112228660</td>
<td>Insigne M</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112228660 Insigne M" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121182759</td>
<td>Valve en caoutchouc</td>
<td>L=61,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121182759 Valve en caoutchouc" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Bouchons de valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Bouchons de valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36131180626</td>
<td>Hub cap wrench</td>
<td>SW=17MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36131180626 Hub cap wrench" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36146774590</td>
<td>Bouchons de valve RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146774590 Bouchons de valve RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36111095436</td>
<td>Bouchons de valve RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36111095436 Bouchons de valve RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36146792831</td>
<td>Valve à vis, RDC</td>
<td>GELB</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146792831 Valve à vis, RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116774008</td>
<td>Two-piece Jante en alliage</td>
<td>8JX19 ET:37</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116774008 Two-piece Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116774009</td>
<td>Two-piece Jante en alliage</td>
<td>9JX19 ET:39</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116774009 Two-piece Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116759898</td>
<td>Two-piece Jante en alliage</td>
<td>8JX19 ET:20</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116759898 Two-piece Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116759899</td>
<td>Two-piece Jante en alliage</td>
<td>9 1/2JX19 ET:32</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116759899 Two-piece Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116762002</td>
<td>Two-piece Jante en alliage</td>
<td>8 1/2JX20 ET:14</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116762002 Two-piece Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116775668</td>
<td>Two-piece Jante en alliage</td>
<td>8 1/2JX20 ET:14</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116775668 Two-piece Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116762003</td>
<td>Two-piece Jante en alliage</td>
<td>9 1/2JX20 ET:20</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116762003 Two-piece Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116775669</td>
<td>Two-piece Jante en alliage</td>
<td>9 1/2JX20 ET:20</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116775669 Two-piece Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116757370</td>
<td>Two-piece Jante en alliage</td>
<td>9JX20 ET:24</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116757370 Two-piece Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116757371</td>
<td>Two-piece Jante en alliage</td>
<td>10JX20 ET:24</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116757371 Two-piece Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136758730</td>
<td>Boulon de roue noir</td>
<td>M14X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136758730 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781152</td>
<td>Boulon de roue noir</td>
<td>M14X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781152 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 101 convient: E46 E90+ E60+ E63+ E65+ E85+    </h5>
<h5> </h5>
<h5></h5>
<p><img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/09/Bmw-Wheel-Style-101-E46.jpg" width=800" height="600"></p>
<p><img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/09/Bmw-Wheel-Style-101-E90.jpg" width=800" height="600"></p>
<p><img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/09/Bmw-Wheel-Style-101-E60.jpg" width=800" height="600"></p>
<p><img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/09/Bmw-Wheel-Style-101-E63.jpg" width=800" height="600"></p>
<p><img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/09/Bmw-Wheel-Style-101-E65.jpg" width=800" height="600"></p>
<h3>Le Jantes BMW style 101 s&#8217;adaptera-t-il à votre BMW ?</h3>
<p>Gardez à l&#8217;esprit qu&#8217;il peut être dangereux de faire rouler votre BMW sur des pneus ou des roues pour lesquels ils ne sont pas conçus. Si vous n&#8217;êtes pas sûr des spécifications de vos roues actuelles, veuillez consulter notre <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">tableau et guide de montage des roues BMW</a>.</p>
<p>&nbsp;</p>
<p>Insérez les dimensions de vos roues et pneus BMW existants, ainsi que les tailles du , et le résultat sera affiché sur le diagramme. La jambe de force illustrée dans le schéma ci-dessous est uniquement à des fins d&#8217;illustration.</p>
<p>&nbsp;</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">CONFIGURATION EXISTANTE</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Largeur (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profil</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diamètre (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Déplacement (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Largeur (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Vous n'êtes pas sûr de votre taille de roue actuelle?  <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Vérifiez ici!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">NOUVELLE CONFIGURATION</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Largeur (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profil</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diamètre (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Déplacement (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Largeur (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Modifiez les valeurs pour voir le réglage.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">RÉSULTATS</h5>
                      <p> sont automatiquement appliqués ci-dessous  </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p> Le schéma est à afficher uniquement pour vous aider à visualiser le réglage de vos pneus et roues pour votre nouvelle configuration. </p>
                          <br>
                          <p> Largeur du pneu : la largeur de votre pneu en millimètres. <strong> 195 </strong> / 55ZR15 </p>
                          <p> Profil du pneu : le rapport entre la largeur de la paroi du pneu et la largeur du pneu. 195 / <strong> 55 </strong> ZR15 </p>
                          <p> Diamètre des pneus - Le diamètre des roues en pouces. 195 / 55ZR <strong> 15 </strong> </p>
                          <p> Decalage : la distance entre le centre de la roue et la face de montage en mm. ET <strong> 20 </strong> </p>
                          <p> Largeur de la jante : la largeur des jantes en pouces. <strong> 7.5 </strong> JX17 </p> 
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Pouce</th>
                        <th scope="col" class="tb_orgwheel">Roue d'origine</th>
                        <th scope="col" class="tb_newwheel">Nouvelle roue</th>
                        <th scope="col">Différence</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diamètre</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circonférence</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Paroi latérale</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Largeur</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Tours de roue</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>Quelle est la pression des pneus recommandée pour le Jantes BMW style 101 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 101 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série 3 et le Jantes BMW Série 3, ont une pression de pneu recommandée de 32 PSI (2,2 bars). Cependant, vous devez toujours vérifier cela pour votre modèle BMW spécifique. Vous pouvez connaître la pression des pneus recommandée pour votre BMW, en vérifiant l&#8217;autocollant sur le bord intérieur de la porte du conducteur ou, consultez votre manuel du propriétaire si vous avez toujours le même type de pneus que celui fourni avec le véhicule.</p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-101/">Jantes BMW style 101</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 97</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-97/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:12:24 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série 3]]></category>
		<category><![CDATA[Jantes BMW Série 3 E46]]></category>
		<category><![CDATA[Jantes BMW Série M]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E46]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-97/</guid>

					<description><![CDATA[<p>Le jantes BMW style 97 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 97, qui sont standard pour la bmw E46, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-97/" aria-label="Jantes BMW style 97">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-97/">Jantes BMW style 97</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le style de jantes BMW 97 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 97 est disponible dans des diamètres de 17&#8243; pouces, avec un motif de boulon de 5&#215;120. Cette jante rare est le style de roue d&#8217;origine pour la série bmw E46, mais elle peut convenir à d&#8217;autres modèles étant donné que les spécifications correspondent ci-dessous avec la roue de remplacement .Le style donné à Cette jante est mieux décrit comme M Double Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-97.jpg" alt="Jantes BMW style 97" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 97 </strong>Spécifications techniques et pièces</h3>
<p><Table></p>
<td>Nr de la pièce</td>
<td>Nom</td>
<td>Détails</td>
<td>Rechercher pièce</td>
</tr>
<tr>
<td>36112282350</td>
<td>Jante en alliage</td>
<td>71/2JX17 ET:47</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112282350 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36112282360</td>
<td>Jante en alliage</td>
<td>81/2JX17 ET:50</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112282360 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136783536</td>
<td>Chapeau de moyeu avec bord chromé</td>
<td>BMW</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136783536 Chapeau de moyeu avec bord chromé" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136767547</td>
<td>Insigne BMW estampé/peint</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136767547 Insigne BMW estampé/peint" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Valve en caoutchouc</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Valve en caoutchouc" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36146792828</td>
<td>Valve à vis, RDC</td>
<td>SCHWARZ</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146792828 Valve à vis, RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Bouchons de valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Bouchons de valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36111095436</td>
<td>Bouchons de valve RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36111095436 Bouchons de valve RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36112228660</td>
<td>Insigne M</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36112228660 Insigne M" rel="noopener">rechercher pièce</a></td>
</tr>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 97 convient: E46         </h5>
<h5> </h5>
<h5></h5>
<p><img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/09/Bmw-Wheel-Style-97-E46.jpg" width=800" height="600"></p>
<h3>Le Jantes BMW style 97 s&#8217;adaptera-t-il à votre BMW ?</h3>
<p>Gardez à l&#8217;esprit qu&#8217;il peut être dangereux de faire rouler votre BMW sur des pneus ou des roues pour lesquels ils ne sont pas conçus. Si vous n&#8217;êtes pas sûr des spécifications de vos roues actuelles, veuillez consulter notre <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">tableau et guide de montage des roues BMW</a>.</p>
<p>&nbsp;</p>
<p>Insérez les dimensions de vos roues et pneus BMW existants, ainsi que les tailles du , et le résultat sera affiché sur le diagramme. La jambe de force illustrée dans le schéma ci-dessous est uniquement à des fins d&#8217;illustration.</p>
<p>&nbsp;</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">CONFIGURATION EXISTANTE</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Largeur (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profil</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diamètre (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Déplacement (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Largeur (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Vous n'êtes pas sûr de votre taille de roue actuelle?  <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Vérifiez ici!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">NOUVELLE CONFIGURATION</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Largeur (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profil</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diamètre (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Déplacement (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Largeur (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Modifiez les valeurs pour voir le réglage.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">RÉSULTATS</h5>
                      <p> sont automatiquement appliqués ci-dessous  </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p> Le schéma est à afficher uniquement pour vous aider à visualiser le réglage de vos pneus et roues pour votre nouvelle configuration. </p>
                          <br>
                          <p> Largeur du pneu : la largeur de votre pneu en millimètres. <strong> 195 </strong> / 55ZR15 </p>
                          <p> Profil du pneu : le rapport entre la largeur de la paroi du pneu et la largeur du pneu. 195 / <strong> 55 </strong> ZR15 </p>
                          <p> Diamètre des pneus - Le diamètre des roues en pouces. 195 / 55ZR <strong> 15 </strong> </p>
                          <p> Decalage : la distance entre le centre de la roue et la face de montage en mm. ET <strong> 20 </strong> </p>
                          <p> Largeur de la jante : la largeur des jantes en pouces. <strong> 7.5 </strong> JX17 </p> 
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Pouce</th>
                        <th scope="col" class="tb_orgwheel">Roue d'origine</th>
                        <th scope="col" class="tb_newwheel">Nouvelle roue</th>
                        <th scope="col">Différence</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diamètre</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circonférence</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Paroi latérale</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Largeur</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Tours de roue</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>Quelle est la pression des pneus recommandée pour le Jantes BMW style 97 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 97 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série 3 et le , ont une pression de pneu recommandée de 32 PSI (2,2 bars). Cependant, vous devez toujours vérifier cela pour votre modèle BMW spécifique. Vous pouvez connaître la pression des pneus recommandée pour votre BMW, en vérifiant l&#8217;autocollant sur le bord intérieur de la porte du conducteur ou, consultez votre manuel du propriétaire si vous avez toujours le même type de pneus que celui fourni avec le véhicule.</p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-97/">Jantes BMW style 97</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 96</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-96/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:12:24 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série 3]]></category>
		<category><![CDATA[Jantes BMW Série 3 E36]]></category>
		<category><![CDATA[Jantes BMW Série 3 E46]]></category>
		<category><![CDATA[Jantes BMW Série Z3]]></category>
		<category><![CDATA[Jantes BMW Série Z3 E36]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E36]]></category>
		<category><![CDATA[E46]]></category>
		<category><![CDATA[Z3]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-96/</guid>

					<description><![CDATA[<p>Le Jantes BMW style 96 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 96, qui sont standard pour les bmw E36 et E46, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-96/" aria-label="Jantes BMW style 96">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-96/">Jantes BMW style 96</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le style de jantes BMW 96 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 96 est disponible dans des diamètres de 17&#8243; pouces, avec un motif de boulon de 5&#215;120. Il s&#8217;agit du style de roue d&#8217;origine pour les séries bmw E36 et E46, mais il peut s&#8217;adapter à d&#8217;autres modèles étant donné que les spécifications ci-dessous correspondent à la roue de remplacement .Le style donné à Cette jante est mieux décrit comme Star Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-96.jpg" alt="Jantes BMW style 96" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 96 </strong>Spécifications techniques et pièces</h3>
<p><Table></p>
<td>Nr de la pièce</td>
<td>Nom</td>
<td>Détails</td>
<td>Rechercher pièce</td>
</tr>
<tr>
<td>36116755857</td>
<td>Jante en alliage</td>
<td>8JX17 ET:47</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36116755857 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136781150</td>
<td>Boulon de roue noir</td>
<td>M12X1,5</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136781150 Boulon de roue noir" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136768524</td>
<td>Hub cap</td>
<td>D=162MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136768524 Hub cap" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36136767550</td>
<td>BMW insignia stamped with adhesive film</td>
<td>D=64,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36136767550 BMW insignia stamped with adhesive film" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121116326</td>
<td>Valve en caoutchouc</td>
<td>L=42,5MM</td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121116326 Valve en caoutchouc" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36146792829</td>
<td>Valve à vis, RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36146792829 Valve à vis, RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36141095389</td>
<td>Valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36141095389 Valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36121120779</td>
<td>Bouchons de valve</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36121120779 Bouchons de valve" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36111095436</td>
<td>Bouchons de valve RDC</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36111095436 Bouchons de valve RDC" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36132294421</td>
<td>Hub cap puller</td>
<td></td>
<td><a target="_blank" href="https://www.amazon.com/gp/search?ie=UTF8&#038;tag=bmwstylerims-20&#038;linkCode=ur2&#038;linkId=9ee75855a54662e6e81080b19ad79844&#038;camp=1789&#038;creative=9325&#038;index=automotive&#038;keywords=36132294421 Hub cap puller" rel="noopener">rechercher pièce</a></td>
</tr>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 96 convient: E36 E46 Z3       </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 96 s&#8217;adaptera-t-il à votre BMW ?</h3>
<p>Gardez à l&#8217;esprit qu&#8217;il peut être dangereux de faire rouler votre BMW sur des pneus ou des roues pour lesquels ils ne sont pas conçus. Si vous n&#8217;êtes pas sûr des spécifications de vos roues actuelles, veuillez consulter notre <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">tableau et guide de montage des roues BMW</a>.</p>
<p>&nbsp;</p>
<p>Insérez les dimensions de vos roues et pneus BMW existants, ainsi que les tailles du , et le résultat sera affiché sur le diagramme. La jambe de force illustrée dans le schéma ci-dessous est uniquement à des fins d&#8217;illustration.</p>
<p>&nbsp;</p>
<body>
<div class="tirecomparison-calculator">   
    <div class="form_holder_cal"> 
                    <div class="form_one_container">
                        <div class="setup_old">
                            <h5 class="hclass">CONFIGURATION EXISTANTE</h5>
                        </div>
                        <form class="form_one">
                           <div class="input_row">
                              <div class="input_column_img">
                                 <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                              </div>
                              <div class="input_column">
                                 <label class="form_label" for="tireWidth">Largeur (mm)</label>
                                 <input id="tireWidth" oninput="tireFunction()" value="205" type="number" min="0" max="399">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireProfile">Profil</label>
                                <input id="tireProfile" oninput="tireFunction()" value="55" type="number" min="0" max="99">
                              </div>
                              <div class="input_column">
                                <label class="form_label" for="tireDiameter">Diamètre (in)</label>
                                <input id="tireDiameter" oninput="tireFunction()" value="16" type="number" min="0" max="99">
                              </div>
                            </div>
                           <div class="input_row">
                            <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="offset">Déplacement (mm)</label>
                                <input id="offset" oninput="tireFunction()" value="40" type="number" min="-99" max="99">
                            </div>
                            <div class="input_column">
                                <label class="form_label" for="width">Largeur (in)</label>
                                <input id="width" oninput="tireFunction()" value="6.5" type="number" min="0" max="99">
                            </div>
                           </div>
                        </form>
                        <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Vous n'êtes pas sûr de votre taille de roue actuelle?  <a href="https://www.bmwstylerims.com/bmw-wheel-fitting-chart/">Vérifiez ici!</a> </p>
                    </div>
                    <div class="form_two_container">
                          <div class="setup_new">
                          <h5 class="hclass">NOUVELLE CONFIGURATION</h5>
                           </div>
                         <form class="form_two">
                           <div class="input_row">
                             <div class="input_column_img">
                                <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smalltyre.jpg" alt="Existing Tyre">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireWidth">Largeur (mm)</label>
                                <input id="twoTireWidth" oninput="twoTireFunction()" value="235" type="number" min="0" max="399">
                                </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireProfile">Profil</label>
                                <input id="twoTireProfile" oninput="twoTireFunction()" value="40" type="number" min="0" max="99">
                             </div>
                             <div class="input_column">
                                <label class="form_label" for="twoTireDiameter">Diamètre (in)</label>
                                 <input id="twoTireDiameter" oninput="twoTireFunction()" value="17" type="number" min="0" max="99">
                             </div>
                             </div>
                             <div class="input_row">
                                <div class="input_column_img">
                                    <img decoding="async" src="https://www.bmwstylerims.com/wp-content/uploads/2020/11/smallwheel.jpg" alt="Existing Wheel">
                                 </div>
                                 <div class="input_column">
                                     <label class="form_label" for="twoOffset">Déplacement (mm)</label>
                                     <input id="twoOffset" class="mm" value="20" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                 </div>
                                     <div class="input_column">
                                         <label class="form_label" for="twoWidth">Largeur (in)</label>
                                          <input id="twoWidth" class="ms" value="7.5" oninput="twoTireFunction()" type="number" min="-99" max="99">
                                      </div>                          
                                </div>
                         </form>
                      <p class="psmall">Les valeurs ci-dessus ne sont que des exemples ! Modifiez les valeurs pour voir le réglage.</p>
                    </div>
     
      
                    <div class="results_header">   
                     <h5 class="hclass">RÉSULTATS</h5>
                      <p> sont automatiquement appliqués ci-dessous  </p>
                  </div>  
               <div class="canvasHolder">
                 <canvas class="canvas" id="canvasA"></canvas>
                 <canvas class="canvas" id="canvasB"></canvas>
               </div> 
                <br>


                <div class="hide">
                    <div class="form-check">
                         <label class="lock locka" for="checkTires">
                           <input onclick="checkTires()" type="checkbox" value="" id="checkTires" checked>
                           <span>Show Tires</span>
                         </label>
                    </div>
                    <div class="form-check">
                        <label class="lock" for="checkMeasurements">
                          <input onclick="checkMeasurements()" type="checkbox" value="" id="checkMeasurements" checked>
                          <span>Show Measurements</span>
                        </label>
                    </div>
                    <div class="form-check advance_options">
                          <label class="lock lockd" for="checkClearance">
                          <input onclick="checkClearance()" type="checkbox" value="" id="checkClearance">
                          <span>Show Clearance</span>
                       </label>
                    </div>
                    <div class="form-check advance_options">
                       <label class="lock lockd" for="checkFenderSuspension">
                         <input onclick="checkFenderSuspension()" type="checkbox" value="" id="checkFenderSuspension">
                         <span>Show Fender and Suspension</span>
                       </label>
                    </div>
                
                    <input type="button" id="buttonToggle" class="example_c" value="Show More Options" onclick="toggleMode()">
                    <div class="form_three_container">
                        <form class="form_three">
                           <div class="block_one">          
                              <div class="advance_options form_one">
                                <label for="wheelwellWidth">Wheelwell Clearance (mm) </label>
                                <input id="wheelwellWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="fenderWidth">Fender Clearance (mm) </label>
                                  <input id="fenderWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                              <div class="advance_options form_one">
                                  <label for="suspensionWidth">Suspension Width (mm)</label>
                                  <input id="suspensionWidth" oninput="tireFunction()" value="0" type="number" min="-100" max="399">
                              </div>
                           </div>
                           <div class="block_two">
                              <div class="advance_options form_two">
                               </div>
                              <div class="advance_options form_two">
                                <label for="twoWheelwellWidth">New Wheelwell Clearance (mm) </label>
                                <input id="twoWheelwellWidth" oninput="twoTireFunction()" value="0" type="number" min="-100" max="100">
                              </div>
                           <div class="advance_options form_two">
                                <label for="twoFenderWidth">New Fender Clearance (mm)</label>
                                <input id="twoFenderWidth" oninput="twoTireFunction()" value="0" type="number" min="-99" max="99">
                           </div>
                           <div class="advance_options form_two">
                                <label for="twoSuspensionWidth">New Suspension Width (mm)</label>
                                <input id="twoSuspensionWidth" oninput="twoTireFunction()" value="0" type="number" min="0" max="99">
                           </div>
                          </div>
                        </form>
                    </div>
                 </div>
                   <div class="wheel_text">
                         <p> Le schéma est à afficher uniquement pour vous aider à visualiser le réglage de vos pneus et roues pour votre nouvelle configuration. </p>
                          <br>
                          <p> Largeur du pneu : la largeur de votre pneu en millimètres. <strong> 195 </strong> / 55ZR15 </p>
                          <p> Profil du pneu : le rapport entre la largeur de la paroi du pneu et la largeur du pneu. 195 / <strong> 55 </strong> ZR15 </p>
                          <p> Diamètre des pneus - Le diamètre des roues en pouces. 195 / 55ZR <strong> 15 </strong> </p>
                          <p> Decalage : la distance entre le centre de la roue et la face de montage en mm. ET <strong> 20 </strong> </p>
                          <p> Largeur de la jante : la largeur des jantes en pouces. <strong> 7.5 </strong> JX17 </p> 
                   </div>
      
      
        <div class="table-results">
            <table class="table table-sm">
                <colgroup>
                    <col>
                    <col>
                    <col span="1" class="bg-light">
                    <col>
                </colgroup>
                <thead>
                    <tr>
                        <th id="measure" scope="col">Pouce</th>
                        <th scope="col" class="tb_orgwheel">Roue d'origine</th>
                        <th scope="col" class="tb_newwheel">Nouvelle roue</th>
                        <th scope="col">Différence</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">Diamètre</th>
                        <td id="diameterOne"></td>
                        <td id="diameterTwo"></td>
                        <td id="diameterPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Circonférence</th>
                        <td id="circumferenceOne"></td>
                        <td id="circumferenceTwo"></td>
                        <td id="circumferencePercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Paroi latérale</th>
                        <td id="sidewallOne"></td>
                        <td id="sidewallTwo"></td>
                        <td id="sidewallPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Largeur</th>
                        <td id="widthOne"></td>
                        <td id="widthTwo"></td>
                        <td id="widthPercentage">%</td>
                    </tr>
                    <tr>
                        <th scope="row">Tours de roue</th>
                        <td id="revOne"></td>
                        <td id="revTwo"></td>
                        <td id="revPercentage"></td>
                    </tr>
                </tbody>
             </table>
                <input type="button" id="buttonConvert" value="Convert" onclick="convertTable()">
        </div>
    </div>
</div>
    

<style>
  .hide {
    display: none;
  }
  .results{
    color:white!important;
    text-align: center;
    background-color: #005a87;
    padding:5px;
  }

 .results_header{
    display:block;
    text-align: center;
    background-color: #007bff;
    margin-top:30px;    
    margin-bottom: 10px;
    margin-right:10px;
    margin-right:10px;
    max-width: 100%;
    padding:10px;
    width:100%;
    Color: #fff;
  }
.results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}


.lock {
	position:relative;
  cursor:pointer;
	height:32px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.lock input {
	display:none; 
}
.lock span:before,
.lock span:after{
	content:"";
}

.lock span:before {
	width:64px;
	height:32px;
	margin-right:8px;
	background:#EEE;
	border-radius:32px;
	display:inline-block;
	vertical-align:middle;
	transition:all .5s cubic-bezier(.175, .885, .32, 1);
}
.lock span:after {
	margin:2px;
	width:28px;
	height:28px;
	background:#FFF;
	border-radius:28px;
	position:absolute;
	left:0;
	z-index:2;
	transition:all .5s cubic-bezier(.175, .885, .32, 1); 
}
.lock input:checked + span:after {
	left:32px;
}
.lockd input:disabled + span:after{
	background: #acacac;
}
.lock input:checked + span:before {
	background-color:#006298;
}
.locka input:checked + span:before {
	background-color:#1CC691;
}
    .example_c {
        color: #fff !important;
        text-transform: uppercase;
        text-decoration: none;
        background: #006298;
        padding: 5px;
        border-radius: 5px;
        display: inline-block;
        border: none;
        transition: all 0.4s ease 0s;
    }
    .example_c:hover {
        background: black;
        letter-spacing: 1px;
        -webkit-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        -moz-box-shadow: 0px 5px 40px -10px rgba(0,0,0,0.57);
        box-shadow: 5px 40px -10px rgba(0,0,0,0.57);
        transition: all 0.4s ease 0s;
    }
    p { margin: 5px }
    .canvasHolder {
        position: relative;
    }

  /* form style*/ 
.psmall{
  font-size:small;
  padding-top:5px;
}

.hclass{
  color:#fff;
  font-weight:400;
}

  .setup_old{
    margin-right:10px;
    background-color: #FF6600;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
.setup_new{
    margin-right:0px;
    background-color: #007bff;
    color:#fff;
    padding:5px 10px 5px 10px;
    color 
  }
    .form_holder_cal{
        background-color:#fff;
        padding-top:0px;   
        margin: 0 auto;
        max-width: 100%;
        
    } 
 
    .form_two{
        
        display: flex-grid;
    }
    .block_two{
        display: table-cell;
        vertical-align: middle;
        width: 50%;
    }
    .block_one{
        display: table-cell;
        float:left;
    }
    .form_two_container{
        display: table-cell;
          
        margin:auto;
             }
    
    .form_one_container{
        display: table-cell;
        
        margin:auto;
                   }
@media screen and (max-width: 750px) {
  .form_two_container {
    display: block;
    margin-top:30px;
    margin-bottom:20px;
    float:left;
   
  }
  .form_one_container {
    display: block;
    padding-top: 30px;
     }
  .results_header{
    display:inline-block;
    margin-right:10px;
    width:100%;
    text-align:center;
  }
  .results_header:after {
    content:"";
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 30px solid #007bff;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
}
}

@media screen and (max-width: 400px) {
  .form_two_container {
    width: 100%;
   
  }
  .form_one_container {
    width: 100%;
    
  }
}

.block_one{
    float:center;
    }

.input_row {
  display: table-row;
}

.input_column_img {
  display: table-column;
  padding-right: 5px; 
  float: left;
  width:100%;
  min-width: 50px;
}

.input_column 
  {
display: table-cell;
}

    .form_one{
        margin-right: 0px; 
    }

     .form_label {
        display:block;
        padding: 5px;
       margin-left: 10px;
       float: left;
       width:80%;
       Font-size:12px;
    }
    .form_one input[type="button"] { 
      min-width: 100px;}
    
  
    .form_two input[type="button"] { 
        min-width: 100px;
    }
    .form_one input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
      height: 28px;
  	   width: 80px;}
  
      .form_two input{
        max-width: 100px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
        height: 28px;
        width: 80px;}
    }
    .form-check-input {
        width: 20px;
     
    }
    .canvasHolder{
        float:left;
        position: relative;
        height: 500px; width: 400px; /*based on your canvas size*/
        
    }
  @media only screen and (max-width: 400px) {
  .canvasHolder{
              margin-left:-50px;
    }
}
    .canvas{
        position: absolute;
        top: 0; left: 0;
        }
    .tirecomparison-calculator {
        padding: 20px 5px;
        
        background: #fff;
 
        margin-left: 0px;
        margin-right: 0px;
        overflow: hidden;
    }
.table-results{
display: block;
width: 100%;
  /*
overflow-x: auto;
-webkit-overflow-scrolling: touch;*/
margin: 0 auto;
}

.tb_orgwheel {
  background-color:#FF6600;
  Color: #fff;
}
.tb_newwheel {
  background-color:#007bff;
  Color: #fff;
}

</style>
<script>
    let c = document.getElementById("canvasA");
    let d       = document.getElementById("canvasB");
    let ctx     = c.getContext("2d");
    let ctx2    = d.getContext("2d");
    let initialHeight   = 500;
    let initialWidth    = 400;
    c.width     = initialWidth;
    c.height    = initialHeight;
    d.width     = initialWidth;
    d.height    = initialHeight;

    let tireImg = new Image();
    tireImg.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/tire_PNG45.gif";
  
    let background = new Image();
    background.src = "https://www.bmwstylerims.com/wp-content/uploads/2021/04/jTkeSmK.gif";

    let tireOffsetX = 200;
    let tireOffsetY = 50;

    let inches  = true;
    let enabled = true;
    let measure = true;
    let tires   = false;
    let clearance = true;
    let fendersuspension = false;
     
    var heckMeasurements = document.getElementById("checkMeasurements");
    var heckTires = document.getElementById("checkTires");
    //if enabled disable the function to draw
    function checkClearance(){
        var remember = document.getElementById("checkClearance");
        if (remember.checked){
            clearance = true;
            tireFunction();
            twoTireFunction();
        }else{
            clearance = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkFenderSuspension(){
        var remember = document.getElementById("checkFenderSuspension");
        if (remember.checked){
            fendersuspension = true;
            tireFunction();
            twoTireFunction();
        }else{
            fendersuspension = false;
            tireFunction();
            twoTireFunction();
        }
    }
    function checkMeasurements(){
        if (heckMeasurements.checked){
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
            
        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkTires").checked = true;
            tires = true;
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();
        }
        else{
            measure = false;
            document.getElementById("checkClearance").disabled = true;
            document.getElementById("checkFenderSuspension").disabled = true;
            tireFunction();
            twoTireFunction();

        }
    }

    function checkTires(){
        if (heckTires.checked){
            tires = true;
            tireFunction();
            twoTireFunction();

        }
        else if (!heckTires.checked && !heckMeasurements.checked){
            document.getElementById("checkMeasurements").checked = true;
            tires = false;
            measure = true;
            document.getElementById("checkClearance").disabled = false;
            document.getElementById("checkFenderSuspension").disabled = false;
            tireFunction();
            twoTireFunction();
        }
        else{
            tires = false;
            tireFunction();
            twoTireFunction();

        }
    }
function toggleMode(){
        var divsToHide = document.getElementsByClassName("advance_options"); //divsToHide is an array
        if (enabled === true){
            enabled = false;
            //hide elements
            for(var i = 0; i < divsToHide.length; i++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[i].style.display = "none"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Show More";
        }
        else if (enabled === false) {
            enabled = true;

            for(var x = 0; x < divsToHide.length; x++){
                //divsToHide[i].style.visibility = "hidden"; // or
                divsToHide[x].style.display = "block"; // depending on what you"re doing
            }
            document.getElementById("buttonToggle").value = "Hide";

        }
        tireFunction();
        twoTireFunction();
    }
 
    function processTableValues(colNum, tireHeight, tireSidewall, tiredWidth){
        document.getElementById("diameter" + colNum).textContent        = tireHeight.toFixed(2);
        document.getElementById("circumference" + colNum).textContent   = (3.14159 * tireHeight).toFixed(2);
        document.getElementById("sidewall" + colNum).textContent        = tireSidewall.toFixed(2);
        document.getElementById("width" + colNum).textContent           = (tiredWidth / 25.4).toFixed(2);
        document.getElementById("rev" + colNum).textContent             = (63360 / (3.14159 * tireHeight)).toFixed(0);
    }
    function processTableDifference(){
        document.getElementById("diameterPercentage").textContent       = ((((parseFloat(document.getElementById("diameterTwo").textContent) - parseFloat(document.getElementById("diameterOne").textContent)) / parseFloat(document.getElementById("diameterOne").textContent) * 100)) || 0).toFixed(0) + "%";
        document.getElementById("circumferencePercentage").textContent  = (((parseFloat(document.getElementById("circumferenceTwo").textContent) - parseFloat(document.getElementById("circumferenceOne").textContent)) / parseFloat(document.getElementById("circumferenceOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("sidewallPercentage").textContent       = (((parseFloat(document.getElementById("sidewallTwo").textContent) - parseFloat(document.getElementById("sidewallOne").textContent)) / parseFloat(document.getElementById("sidewallOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("widthPercentage").textContent          = (((parseFloat(document.getElementById("widthTwo").textContent) - parseFloat(document.getElementById("widthOne").textContent)) / parseFloat(document.getElementById("widthOne").textContent) * 100) || 0).toFixed(0) + "%";
        document.getElementById("revPercentage").textContent            = (parseFloat(document.getElementById("revTwo").textContent) - parseFloat(document.getElementById("revOne").textContent) || 0).toFixed(0);
    }  
    function convertTable() {
        if (inches === true) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) * 25.4).toFixed(0);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) * 25.4).toFixed(0);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) / 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) * 25.4).toFixed(0);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) / 1.6).toFixed(0);

            document.getElementById("measure").textContent          = "Millimeters";
            inches = false;

        } else if (inches === false) {
            document.getElementById("diameterOne").textContent      = (parseFloat(document.getElementById("diameterOne").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceOne").textContent = (parseFloat(document.getElementById("circumferenceOne").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallOne").textContent      = (parseFloat(document.getElementById("sidewallOne").textContent) / 25.4).toFixed(2);
            document.getElementById("widthOne").textContent         = (parseFloat(document.getElementById("widthOne").textContent) / 25.4).toFixed(2);
            document.getElementById("revOne").textContent           = (parseFloat(document.getElementById("revOne").textContent) * 1.6).toFixed(0);

            document.getElementById("diameterTwo").textContent      = (parseFloat(document.getElementById("diameterTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("circumferenceTwo").textContent = (parseFloat(document.getElementById("circumferenceTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("sidewallTwo").textContent      = (parseFloat(document.getElementById("sidewallTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("widthTwo").textContent         = (parseFloat(document.getElementById("widthTwo").textContent) / 25.4).toFixed(2);
            document.getElementById("revTwo").textContent           = (parseFloat(document.getElementById("revTwo").textContent) * 1.6).toFixed(0);
            document.getElementById("measure").textContent          = "Inches";
            inches = true;
        }
    }
    let dimensionOffset = 0;
    let dimensionOffsetY = 51;
    function drawDimensions(canvasNum, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, strokeColor, offset){
        canvasNum.strokeStyle = strokeColor;

        //x line
        //big line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY); //top
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY); //bottom
        canvasNum.stroke();
        //x text
        canvasNum.font = "15px Helvetica";
        canvasNum.fillStyle = strokeColor;
        canvasNum.fillText(tireHeight.toFixed(1),  (tireWidth1) - fenderWidth + 15, ((midpoint1 - tireProfile) + (midpoint2 + tireProfile)) / 2 + offset);

        //top line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.stroke();

        //bottom line
        canvasNum.beginPath();
        canvasNum.moveTo((tireWidth1) - fenderWidth + 20, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffset, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();

        //y line
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.stroke();
        //y text
        canvasNum.textBaseline = "bottom";
        canvasNum.fillText((tiredWidth / 25.4).toFixed(2),  (tireWidth1 + tireWidth2) / 2 - 20 + offset  + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth1 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();

        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 30 + tireOffsetY);
        canvasNum.lineTo(tireWidth2 + dimensionOffset + 50, (midpoint1 - tireProfile) - 10 + tireOffsetY);
        canvasNum.stroke();
        
    }

    function drawFenderSuspension(canvasNum, newWidth, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, strokeColor){
        //draw fender line
        if (enabled === true && measure === true){
            if (tireWidth1 > newWidth){ 
            canvasNum.beginPath();
            canvasNum.setLineDash([2,3]);
            canvasNum.strokeStyle = strokeColor;
            canvasNum.moveTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((newWidth) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            else {
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);

            canvasNum.moveTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo((tireWidth1) - fenderWidth + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
            }
            //draw suspension line
            canvasNum.beginPath();
            canvasNum.strokeStyle = strokeColor;
            canvasNum.setLineDash([2,3]);
            canvasNum.moveTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
            canvasNum.lineTo(tireWidth2 + (suspensionWidth) + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
            canvasNum.stroke();
            canvasNum.setLineDash([]);
        }
    }

    function drawClearance(canvasNum, wheelwellWidth, midpoint1, midpoint2, tireProfile, strokeColor){
        if (enabled === true && measure === true){
        //draw fender line
        canvasNum.beginPath();
        canvasNum.strokeStyle = strokeColor;
        canvasNum.moveTo(dimensionOffset + dimensionOffsetY + 80,  (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.lineTo(250 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY - wheelwellWidth/2);
        canvasNum.stroke();
        }
    }
    function drawProfile(canvasNum, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint1 - tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint1 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.lineTo(offsetValue + widthValue + dimensionOffsetY, midpoint2 + tireOffsetY);
        canvasNum.stroke();
    }
    function drawWidth(canvasNum, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile){
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, (midpoint1 - tireProfile) + tireOffsetY);
        canvasNum.stroke();
        
        canvasNum.beginPath();
        canvasNum.moveTo(tireWidth1 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY); //midpoint of rectangle
        canvasNum.lineTo(tireWidth2 + dimensionOffsetY, midpoint2 + tireProfile + tireOffsetY);
        canvasNum.stroke();
    }

    function tireFunction() { //first set
        ctx.clearRect(0, 0, 500, 500);
        ctx.drawImage(background, 50, 50);
        let width           = document.getElementById("width").value * 12;
        let offset          = document.getElementById("offset").value / 2;
        let tireWidth       = parseInt(document.getElementById("tireWidth").value) / 4;
        let tireProfile     = parseInt(document.getElementById("tireProfile").value) * 1.1;
        let tireDiameter    = parseInt(document.getElementById("tireDiameter").value) * 12.5;
        let fenderWidth     = parseInt(document.getElementById("fenderWidth").value) || 0;
        let suspensionWidth = parseInt(document.getElementById("suspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("wheelwellWidth").value) || 0;

        let tiredWidth      = parseInt(document.getElementById("tireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("tireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("tireDiameter").value);
        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = ((((tiredWidth * (tiredProfile / 100)) * 2) + (tiredDiameter * 25.4)) / 25.4);

        processTableValues("One", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1 = (440 - tireDiameter) / 2;
        let midpoint2 = (440 + tireDiameter) / 2;

        tireProfile = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2 = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1 = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#FF6600", 0);

            //draw rect
            ctx.beginPath();
            ctx.strokeStyle    = "#FF6600";
            ctx.lineWidth      = 3;
            if (tires === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            if (enabled === true){
                ctx.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , (((440 - tireDiameter) / 2) - tireProfile) + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else{
            ctx.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            ctx.stroke();
            ctx.strokeStyle = "#000000";
            if (enabled === false){

            //draw lines on top and below the rectangle
            drawWidth(ctx, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

            //draw two lines connecting the tire widths to the base of the rectangle
            drawProfile(ctx, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
            ctx.strokeStyle = "#FF0000";

            //draw fender and suspension lines
            if (fendersuspension === true){
                drawFenderSuspension(ctx, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#FF0000");
            }

            if (clearance === true){
            drawClearance(ctx, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#FF0000");
            }
            }
        }

        else if (measure === false){
            ctx.beginPath();
            ctx.strokeStyle    = "#FF0000";
            ctx.lineWidth      = 3;
            ctx.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx.stroke();
        }
    }

    function twoTireFunction() {
        ctx2.clearRect(0, 0, 500, 500);

        let width           = (document.getElementById("twoWidth").value) * 12;
        let offset          = (document.getElementById("twoOffset").value) / 2;
        let tireWidth       = (parseInt(document.getElementById("twoTireWidth").value)) / 4;
        let tireProfile     = (parseInt(document.getElementById("twoTireProfile").value)) * 1.1;
        let tireDiameter    = (parseInt(document.getElementById("twoTireDiameter").value)) * 12.5;

        let tiredWidth      = parseInt(document.getElementById("twoTireWidth").value);
        let tiredProfile    = parseInt(document.getElementById("twoTireProfile").value);
        let tiredDiameter   = parseInt(document.getElementById("twoTireDiameter").value);
        let fenderWidth     = (parseInt(document.getElementById("twoFenderWidth").value)) || 0;
        let suspensionWidth = parseInt(document.getElementById("twoSuspensionWidth").value) || 0;
        let wheelwellWidth  = parseInt(document.getElementById("twoWheelwellWidth").value) || 0;

        let tireSidewall    = (tiredWidth * (tiredProfile / 100)) / 25.4;
        let tireHeight      = (((tiredWidth * (tiredProfile / 100))  * 2) + (tiredDiameter * 25.4)) / 25.4;

        processTableValues("Two", tireHeight, tireSidewall, tiredWidth);
        processTableDifference();

        let widthValue  = 15 + parseInt(width);
        let offsetValue = 140 + parseInt(offset) - parseInt(width) / 2;
        let midpoint1   = (440 - tireDiameter) / 2;
        let midpoint2   = (440 + tireDiameter) / 2;

        tireProfile     = ((tireHeight * 12.25) - (midpoint2 - midpoint1)) / 2;

        let tireWidth2  = offsetValue + tireWidth + (widthValue / 2);
        let tireWidth1  = offsetValue - tireWidth + (widthValue / 2);

        if (measure === true){
            drawDimensions(ctx2, tireWidth1, tireWidth2, fenderWidth, midpoint1, midpoint2, tireProfile, tireHeight, tiredWidth, "#007bff", 50);

            //draw rect 2
            ctx2.beginPath();
            ctx2.strokeStyle    = "#007bff";
            ctx2.lineWidth      = 2.5;
            if (enabled === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            }
            else {
                ctx2.rect(offsetValue + dimensionOffsetY, (440 - tireDiameter) / 2 + tireOffsetY, widthValue, tireDiameter); //x,y,width,height
            }
            if (tires === true){
                ctx2.rect(tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 0.35;
                ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
                ctx2.globalAlpha    = 1;
            }
            ctx2.stroke();
            ctx2.strokeStyle = "#000000";
            if (enabled === false){

                //draw lines on top and below the rectangle
                drawWidth(ctx2, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile);

                //draw two lines connecting the tire widths to the base of the rectangle
                drawProfile(ctx2, tireWidth1, tireWidth2, widthValue, midpoint1, midpoint2, tireProfile, offsetValue);
                ctx2.strokeStyle = "#0000FF";

                //draw fender and suspension lines
                if (fendersuspension === true){
                drawFenderSuspension(ctx2, offsetValue, tireWidth1, tireWidth2, midpoint1, midpoint2, tireProfile, fenderWidth, suspensionWidth, "#0000FF");
                }

                if (clearance === true){
                    drawClearance(ctx2, wheelwellWidth ,midpoint1, midpoint2, tireProfile, "#0000FF");
                }
            }
        }

        else if (measure === true){
            ctx2.beginPath();
            ctx2.strokeStyle    = "#0000FF";
            ctx2.lineWidth      = 2.5;
            ctx2.globalAlpha    = 0.35;

            ctx2.drawImage(tireImg,  tireOffsetX + parseInt(offset) - ((tireWidth2 - tireWidth1) /2) , ((440 - tireDiameter) / 2) - tireProfile + tireOffsetY, tireWidth2 - tireWidth1, tireDiameter + (tireProfile * 2)); //x,y,width,height
            ctx2.globalAlpha    = 1;

            ctx2.stroke();
        }

    }
    // Make sure the image is loaded first otherwise nothing will draw.

    background.onload = function () {
        var allowedDomains = ['bmwstylerims.com'];
        console.log(document.domain);
        if (allowedDomains.indexOf(document.domain) == -1) {
        // Code to redirect here
        //window.location.href = "https://bmwstylerims.com"; 
        }

        toggleMode();
    };
    //https://obfuscator.io/
    //https://javascriptobfuscator.com/Javascript-Obfuscator.aspx
</script>
</body>
<h3>Quelle est la pression des pneus recommandée pour le Jantes BMW style 96 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 96 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série 3 et le Jantes BMW Série 3, ont une pression de pneu recommandée de 32 PSI (2,2 bars). Cependant, vous devez toujours vérifier cela pour votre modèle BMW spécifique. Vous pouvez connaître la pression des pneus recommandée pour votre BMW, en vérifiant l&#8217;autocollant sur le bord intérieur de la porte du conducteur ou, consultez votre manuel du propriétaire si vous avez toujours le même type de pneus que celui fourni avec le véhicule.</p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-96/">Jantes BMW style 96</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
