<?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 E84 Wheels | OEM BMW Wheels - BmwStyleRims.com</title>
	<atom:link href="https://www.bmwstylerims.com/fr/tag/e84-fr/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bmwstylerims.com/fr/tag/e84-fr/</link>
	<description>All BMW Wheels style including technical data, color codes &#38; pictures</description>
	<lastBuildDate>Sun, 07 Nov 2021 13:57:36 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>Jantes BMW style 621</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-621/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:29:42 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série X1]]></category>
		<category><![CDATA[Jantes BMW Série X1 E84]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E84]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-621/</guid>

					<description><![CDATA[<p>Le jantes BMW style 621 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 621, qui sont standard pour la bmw X1 E84 mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-621/" aria-label="Jantes BMW style 621">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-621/">Jantes BMW style 621</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le jantes BMW Style 621 est disponible dans des diamètres de 17 pouces. Cette jante est le style de roue d&#8217;origine pour la série BMW X1 E84, mais elle peut convenir à d&#8217;autres modèles étant donné que les spécifications ci-dessous correspondent aux tailles de roue de remplacement.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-621.jpg" alt="Jantes BMW style 621" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 621 </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>36116861846</td>
<td>Jante en alliage</td>
<td>7,5JX17 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=36116861846 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>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>36146792830</td>
<td>Valve à vis, RDC</td>
<td>GRÜN</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=36146792830 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>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 621 convient: E84         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 621 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 621 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 621 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série X1 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-621/">Jantes BMW style 621</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 465</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-465/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:26:57 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série X1]]></category>
		<category><![CDATA[Jantes BMW Série X1 E84]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E84]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-465/</guid>

					<description><![CDATA[<p>Le jantes BMW style 465 fait partie de la gamme de roues d'origine BMW. Pour en savoir plus sur le style BMW 465 jantes, ce qui est standard pour la BMW X1 E84 mais pourraient convenir d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-465/" aria-label="Jantes BMW style 465">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-465/">Jantes BMW style 465</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Le jantes BMW Style 465 est disponible dans des diamètres de 19 pouces et sont des roues décalées. Cette jante est le style de roue d&#8217;origine pour la série BMW X1 E84, mais elle peut convenir à d&#8217;autres modèles étant donné que les spécifications ci-dessous correspondent aux tailles de roue de remplacement.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-465.jpg" alt="Jantes BMW style 465" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 465 </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>36116854562</td>
<td>jante alliage brillant</td>
<td>8JX19 ET:30</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=36116854562 jante alliage brillant" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116854563</td>
<td>jante alliage brillant</td>
<td>9JX19 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=36116854563 jante alliage brillant" 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>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>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>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>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 465 convient: E84         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 465 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 465 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 465 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série X1 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-465/">Jantes BMW style 465</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 421</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-421/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:25:40 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série X1]]></category>
		<category><![CDATA[Jantes BMW Série X1 E84]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E84]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-421/</guid>

					<description><![CDATA[<p>Le jantes BMW style 421 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 421, qui sont standard pour la bmw E84, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-421/" aria-label="Jantes BMW style 421">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-421/">Jantes BMW style 421</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 421 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 421 est disponible dans des diamètres de 18&#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 E84, 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 Double Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-421.jpg" alt="Jantes BMW style 421" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 421 </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>36116850293</td>
<td>jante alliage brillant</td>
<td>8JX18 ET:30</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=36116850293 jante alliage brillant" 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>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>36146792830</td>
<td>Valve à vis, RDC</td>
<td>GRÜN</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=36146792830 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>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 421 convient: E84         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 421 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 421 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 421 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série X1 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-421/">Jantes BMW style 421</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 355</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-355/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:23:06 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série M]]></category>
		<category><![CDATA[Jantes BMW Série X1]]></category>
		<category><![CDATA[Jantes BMW Série X1 E84]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E84]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-355/</guid>

					<description><![CDATA[<p>Le jantes BMW style 355 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 355, qui sont standard pour la bmw E84, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-355/" aria-label="Jantes BMW style 355">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-355/">Jantes BMW style 355</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 355 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 355 est disponible dans des diamètres de 18&#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 E84, mais elle 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 M Double Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-355.jpg" alt="Jantes BMW style 355" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 355 </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>36117842636</td>
<td>Jante en alliage</td>
<td>8JX18 ET:30</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=36117842636 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36117842637</td>
<td>Jante en alliage</td>
<td>9JX18 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=36117842637 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>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>36146792830</td>
<td>Valve à vis, RDC</td>
<td>GRÜN</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=36146792830 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>
<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 355 convient: E84         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 355 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 355 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 355 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série X1 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-355/">Jantes BMW style 355</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 354</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-354/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:23:06 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série M]]></category>
		<category><![CDATA[Jantes BMW Série X1]]></category>
		<category><![CDATA[Jantes BMW Série X1 E84]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E84]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-354/</guid>

					<description><![CDATA[<p>Le jantes BMW style 354 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 354, qui sont standard pour la bmw E84, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-354/" aria-label="Jantes BMW style 354">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-354/">Jantes BMW style 354</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 354 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 354 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 E84, 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-354.jpg" alt="Jantes BMW style 354" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 354 </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>36117842635</td>
<td>Jante en alliage</td>
<td>71/2JX17 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=36117842635 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>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>36146792830</td>
<td>Valve à vis, RDC</td>
<td>GRÜN</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=36146792830 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>
<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 354 convient: E84         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 354 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 354 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 354 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série X1 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-354/">Jantes BMW style 354</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 324</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-324/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:22:08 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série X1]]></category>
		<category><![CDATA[Jantes BMW Série X1 E84]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E84]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-324/</guid>

					<description><![CDATA[<p>Le jantes BMW style 324 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 324, qui sont standard pour la bmw E84, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-324/" aria-label="Jantes BMW style 324">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-324/">Jantes BMW style 324</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 324 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 324 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 E84, 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 V Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-324.jpg" alt="Jantes BMW style 324" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 324 </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>36116789150</td>
<td>jante alliage brillant</td>
<td>9JX19 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=36116789150 jante alliage brillant" 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>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>36146792830</td>
<td>Valve à vis, RDC</td>
<td>GRÜN</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=36146792830 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>36116789149</td>
<td>jante alliage brillant</td>
<td>8JX19 ET:30</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=36116789149 jante alliage brillant" rel="noopener">rechercher pièce</a></td>
</tr>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 324 convient: E84         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 324 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 324 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 324 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série X1 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-324/">Jantes BMW style 324</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 323</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-323/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:22:08 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série X1]]></category>
		<category><![CDATA[Jantes BMW Série X1 E84]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E84]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-323/</guid>

					<description><![CDATA[<p>Le jantes BMW style 323 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 323, qui sont standard pour la bmw E84, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-323/" aria-label="Jantes BMW style 323">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-323/">Jantes BMW style 323</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 323 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 323 est disponible dans des diamètres de 18&#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 E84, 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 Wabenstyling.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-323.jpg" alt="Jantes BMW style 323" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 323 </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>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>36116789147</td>
<td>jante alliage brillant</td>
<td>8JX18 ET:30</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=36116789147 jante alliage brillant" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116789148</td>
<td>jante alliage brillant</td>
<td>9JX18 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=36116789148 jante alliage brillant" 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>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>36146792830</td>
<td>Valve à vis, RDC</td>
<td>GRÜN</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=36146792830 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>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 323 convient: E84         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 323 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 323 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 323 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série X1 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-323/">Jantes BMW style 323</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 322</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-322/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:22:02 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série X1]]></category>
		<category><![CDATA[Jantes BMW Série X1 E84]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E84]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-322/</guid>

					<description><![CDATA[<p>Le jantes BMW style 322 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 322, qui sont standard pour la bmw E84, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-322/" aria-label="Jantes BMW style 322">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-322/">Jantes BMW style 322</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 322 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 322 est disponible dans des diamètres de 18&#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 E84, 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 Y Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-322.jpg" alt="Jantes BMW style 322" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 322 </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>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>36116789145</td>
<td>Jante en alliage</td>
<td>8JX18 ET:30</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=36116789145 Jante en alliage" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116789146</td>
<td>Jante en alliage</td>
<td>9JX18 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=36116789146 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>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>36146792830</td>
<td>Valve à vis, RDC</td>
<td>GRÜN</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=36146792830 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>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 322 convient: E84         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 322 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 322 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 322 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série X1 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-322/">Jantes BMW style 322</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 321</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-321/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:22:02 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série X1]]></category>
		<category><![CDATA[Jantes BMW Série X1 E84]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E84]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-321/</guid>

					<description><![CDATA[<p>Le jantes BMW style 321 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 321, qui sont standard pour la bmw E84, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-321/" aria-label="Jantes BMW style 321">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-321/">Jantes BMW style 321</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 321 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 321 est disponible dans des diamètres de 18&#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 E84, 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 Double Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-321.jpg" alt="Jantes BMW style 321" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 321 </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>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>0</td>
<td>Part not available separately</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=0 Part not available separately" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116789144</td>
<td>Jante en alliage</td>
<td>8JX18 ET:30</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=36116789144 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>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>36146792830</td>
<td>Valve à vis, RDC</td>
<td>GRÜN</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=36146792830 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>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 321 convient: E84         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 321 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 321 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 321 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série X1 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-321/">Jantes BMW style 321</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jantes BMW style 320</title>
		<link>https://www.bmwstylerims.com/fr/jantes-bmw-style-320/</link>
		
		<dc:creator><![CDATA[bmwstylerims.com]]></dc:creator>
		<pubDate>Sun, 07 Nov 2021 13:22:02 +0000</pubDate>
				<category><![CDATA[Jantes BMW Série X1]]></category>
		<category><![CDATA[Jantes BMW Série X1 E84]]></category>
		<category><![CDATA[Tous les styles de jantes BMW]]></category>
		<category><![CDATA[E84]]></category>
		<guid isPermaLink="false">https://www.bmwstylerims.com/jantes-bmw-style-320/</guid>

					<description><![CDATA[<p>Le jantes BMW style 320 fait partie de la gamme de roues d'origine BMW. En savoir plus sur les jantes BMW style 320, qui sont standard pour la bmw E84, mais pourraient convenir à d'autres modèles.&#8230; <a class="kt-excerpt-readmore" href="https://www.bmwstylerims.com/fr/jantes-bmw-style-320/" aria-label="Jantes BMW style 320">Lire la suite</a></p>
<p>The post <a href="https://www.bmwstylerims.com/fr/jantes-bmw-style-320/">Jantes BMW style 320</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 320 fait partie de la gamme de styles de jantes d&#8217;origine de BMW. Le jantes BMW Style 320 est disponible dans des diamètres de 18&#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 E84, mais elle 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 Star Spoke.</p>
<p><img decoding="async" class="centerimg" src="https://www.bmwstylerims.com/wp-content/uploads/2021/04/BMW-wheel-style-320.jpg" alt="Jantes BMW style 320" data-skip-lazy="" /></p>
<h3><strong>Jantes BMW style 320 </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>0</td>
<td>Part not available separately</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=0 Part not available separately" rel="noopener">rechercher pièce</a></td>
</tr>
<tr>
<td>36116789143</td>
<td>Jante en alliage</td>
<td>8JX18 ET:30</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=36116789143 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>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>36146792830</td>
<td>Valve à vis, RDC</td>
<td>GRÜN</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=36146792830 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>
</table>
<h5>Modèles BMW pour lesquels Jantes BMW style 320 convient: E84         </h5>
<h5> </h5>
<h5></h5>
<h3>Le Jantes BMW style 320 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 320 ?</h3>
<p>La pression des pneus pour le Jantes BMW style 320 dépendra de votre modèle BMW. La plupart des modèles BMW comme le Jantes BMW Série X1 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-320/">Jantes BMW style 320</a> appeared first on <a href="https://www.bmwstylerims.com/fr">BmwStyleRims.com</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
