   function NavWrite(oObj,sText) {
      oObj.open();
      oObj.write(sText);
      oObj.close();
      
   }
   
   function init() {

     if(navigator.appName == "Microsoft Internet Explorer") {
       oData = window.parent.document.forms("oData");
       bIE = true;
       bNS4 = false;
     } else {
       if (navigator.appVersion.substring(0,1) == "4") {
          oData = window.document.forms[0];
          bNS4 = true;
       } else {   
          oData  = window.parent.document.getElementById("oData");
          bNS4 = false;
       }    
       bIE = false;
     }  
      
      if(!bNS4) {
        oData.cbRaceBlack.checked = false;
        oData.cbRaceWhite.checked = false;
        oData.cbMale.checked = false;
        oData.cbFemale.checked = false;
        oData.cbDiabYes.checked = false
        oData.cbDiabNo.checked = false;
        oData.cbSmokerYes.checked = false;
        oData.cbSmokerNo.checked = false;
        oData.cbLVHYes.checked = false;
        oData.cbLVHNo.checked = false;
        oData.cbCHDYes.checked = false;
        oData.cbCHDNo.checked = false;
        oData.sldAge.value = 45;
        oData.sldSBP.value = 70;
        oData.cbHBPMedYes.checked= false;
        oData.cbHBPMedNo.checked = false;
      } else {
        oData[0].checked = false;
        oData[1].checked = false;
        oData[2].checked = false;
        oData[3].checked = false;
        oData[4].checked = false
        oData[5].checked = false;
        oData[6].value = 45;
        oData[7].value= 70;
        oData[8].checked = false;
        oData[9].checked = false;
        oData[10].checked= false;
        oData[11].checked = false;
        oData[12].checked = false;
        oData[13].checked = false;
        oData[14].checked = false;
        oData[15].checked = false;
      }   
   }

  // function roundOff(value, precision) {
     
 //     value = "" + value //convert value to string
//      precision = parseInt(precision,10);
//
//      var whole = "" + Math.round(value * Math.pow(10, precision));
//      var decPoint = whole.length - precision;
//
//      if(decPoint != 0) {
//         result = whole.substring(0, decPoint);
//         result += ".";
//         result += whole.substring(decPoint, whole.length);
//      } else {
//         result = "0." + whole;
//      }
//
//      return result;
//   }

 function roundOff(value, precision) {
     
      value = "" + value //convert value to string
//      precision = parseInt(precision,10);

      var whole = "" + Math.round(value * Math.pow(10, precision));
      result = whole / Math.pow(10,precision);
//     var decPoint = whole.length - precision;

//      if(decPoint != 0) {
//         result = whole.substring(0, decPoint);
//         result += ".";
//         result += whole.substring(decPoint, whole.length);
//      } else {
//         result = "0." + whole;
//       }

      return result;
   }
   
   function ShowAverageRisk() {
      if(bIE == true) { 
        if(AvgResults.style.visibility == "visible") {
           AvgResults.style.visibility = "hidden";
        } else {
           AvgResults.style.visibility = "visible";
        }
      } else {
          if(bNS4 == true) {
             Calculate();
          } else {   
             var oTmp = window.parent.document.getElementById("AvgResults");       
             if(oTmp.style.visibility == "visible") {
                oTmp.style.visibility = "hidden";
             } else {
                oTmp.style.visibility = "visible";          
             }   
          }   
      }      
   }
   
   function SwitchHeart(turnoff) {
         if(bIE == true) { 
           if (turnoff==true) {
              document.all("heart").disabled=true;
              AvgResults.style.visibility = "hidden";
              Results.style.visibility = "hidden";
              Avg10.innerText = 0;
           } 
           else if (turnoff==false) {
               document.all("heart").disabled=false;
           }
          }
          if (bIE == false) {
            if (bNS4==true) {
              if (turnoff==true){
		ClearAvg();
              }
            
            }
            else {
              if (turnoff==true) {
                var oTmp = window.parent.document.getElementById("Results");       
                oTmp.style.visibility = "hidden";
                var oTmp = window.parent.document.getElementById("AvgResults");       
                oTmp.style.visibility = "hidden";
              } 
 
            }   
          }  
   }
   
   function ClearAvg (){
    
   top.F2.document.open("text/html");
   var sResults; 
   sResults = "<body bgcolor=#CCCCCC></body>";
   top.F2.document.write(sResults);
   top.F2.document.close();
   
   //top.F3.location.search = "?sAvg=" + "0";
   //top.F3.location.href = "S_RCFrame3.html";
     
   }
   
   
   function Calculate() {

      var sRace = "";
      var sGender = "";
      var iCnt = 0;
      var dNewAge2A = 0;
      var dRace = 0;
      var dAvgNewAgeB = 0;
      var dNewAgeB = 0;
      var dSBPA21 = 0;
      var dHyptMd01 = 0;
      var dDiabts03 = 0;
      var dCurSmk01  = 0;
      var dCHD  = 0;
      var dLVH  = 0;
      var dRS = 0;
      var dAvgRS = 0;
      var dAvgPO = 0;
      var dRSO = 0;
      var dAvgRSO = 0;
      var iDataTable  = 0;
      var iRace = 0;
      var iSBPA21 = 0;
      var iDiabts03 = 0;
      var iCurSmk01 = 0;
      var iHyptMd01 = 0;
      var iCHD = 0;
      var iLVH = 0;
      
      var sYr1 = new String();
      var sYr2 = new String();
      var sYr3 = new String();
      var sYr4 = new String();
      var sYr5 = new String();
      var sYr6 = new String();
      var sYr7 = new String();
      var sYr8 = new String();
      var sYr9 = new String();
      var sYr10 = new String();
      var sYr11 = new String();

      var sAvgYr1 = new String();
      var sAvgYr2 = new String();
      var sAvgYr3 = new String();
      var sAvgYr4 = new String();
      var sAvgYr5 = new String();
      var sAvgYr6 = new String();
      var sAvgYr7 = new String();
      var sAvgYr8 = new String();
      var sAvgYr9 = new String();
      var sAvgYr10 = new String();
      var sAvgYr11 = new String();

     
      bReadyToCalculate = 0;
      
      if(bNS4 == false) {
        if(oData.cbMale.checked == 0 && oData.cbFemale.checked == 0) { return true;}
        if(oData.cbDiabYes.checked == 0 && oData.cbDiabNo.checked == 0) { return true;}
        if(oData.cbSmokerYes.checked == 0 && oData.cbSmokerNo.checked == 0) { return true;}
        if(oData.cbLVHYes.checked == 0 && oData.cbLVHNo.checked == 0) { return true;}
        if(oData.cbCHDYes.checked == 0 && oData.cbCHDNo.checked == 0) { return true;}
        if(oData.sldAge.value == 0) { return true;}
        if(oData.sldSBP.value == 0) { return true;}
        if(oData.cbHBPMedYes.checked == 0 && oData.cbHBPMedNo.checked == 0) { return true;}
        
        if(oData.cbFemale.checked == 1) { sGender = "F";}
        if(oData.cbMale.checked == 1) { sGender = "M";}
        if(sGender == "M") { iDataTable = 1; }
        if(sGender == "F") { iDataTable = 2; }
       
        if(oData.cbRaceBlack.checked == 1) { iRace = 1; }
        if(oData.cbRaceWhite.checked == 1) { iRace = 0; }
      } else {
        if(oData[iMale].checked == 0 && oData[iFemale].checked == 0) { return true;}
        if(oData[iDiabYes].checked == 0 && oData[iDiabNo].checked == 0) { return true;}
        if(oData[iSmokerYes].checked == 0 && oData[iSmokerNo].checked == 0) { return true;}
        if(oData[iLVHYes].checked == 0 && oData[iLVHNo].checked == 0) { return true;}
        if(oData[iCHDYes].checked == 0 && oData[iCHDNo].checked == 0) { return true;}
        if(oData[iAge].value == 0) { return true;}
        if(oData[iSBP].value == 0) { return true;}
        if(oData[iHBPMedYes].checked == 0 && oData[iHBPMedNo].checked == 0) { return true;}
        
        if(oData[iFemale].checked == 1) { sGender = "F";}
        if(oData[iMale].checked == 1) { sGender = "M";}
        if(sGender == "M") { iDataTable = 1; }
        if(sGender == "F") { iDataTable = 2; }
       
        if(oData[iRaceBlack].checked == 1) { iRace = 1; }
        if(oData[iRaceWhite].checked == 1) { iRace = 0; }
        
      }  
      
      bReadyToCalculate = 1;

     
      if(bNS4 == true) { 
        dNewAgeA = (oData[iAge].value) / 10;
      } else {
        dNewAgeA = (oData.sldAge.value) / 10;
      }  
       
    
      if(bNS4 == true) {
         if(oData[iHBPMedYes].checked) {
            iHyptMd01 = 1;
         } else {
            iHyptMd01 = 0;
         }

      } else {
         if(oData.cbHBPMedYes.checked) {
            iHyptMd01 = 1;
         } else {
            iHyptMd01 = 0;
         }
      }
   
   
      if(bNS4 == true) {
         iSBPA21 = oData[iSBP].value / 20;

         if(oData[iDiabYes].checked) {
            iDiabts03 = 1;
         } else {
            iDiabts03 = 0;
         }

         if(oData[iSmokerYes].checked) {
           iCurSmk01 = 1;
         } else {
           iCurSmk01 = 0;
         }
         if(oData[iLVHYes].checked) {
	    iLVH = 1;
	 } else {
	    iLVH = 0;
         }
         
         if(oData[iCHDYes].checked) {
	    iCHD = 1;
	 } else {
	    iCHD = 0;
         }  

      } else {
         iSBPA21 = oData.sldSBP.value / 20;
    
         if(oData.cbDiabYes.checked) {
            iDiabts03 = 1;
         } else {
            iDiabts03 = 0;
         }
    
         if(oData.cbSmokerYes.checked) {
            iCurSmk01 = 1;
         } else {
            iCurSmk01 = 0;
         }
     
         if(oData.cbLVHYes.checked) {
            iLVH = 1;
         } else {
            iLVH = 0;
         }
         
         if(oData.cbCHDYes.checked) {
	    iCHD = 1;
	 } else {
	    iCHD = 0;
         }
      }   
      
       dNewAge = 0;
       dNewAge2 = 0;
       dAvgNewAge = 0;
       dAvgNewAge2 = 0;
   
       dSBPA21 = 0;
       dHyptMd01 = 0;
       dDiabts03 = 0;
       dCurSmk01 = 0;
       dRace = 0;
       dCHD = 0;
       dLVH = 0;

          
       dDiabts03 = iDiabts03 * aCoef[iDataTable][cDiabts03];
       dNewAgeB = dNewAgeA * aCoef[iDataTable][cNewAge];
       dSBPA21 = iSBPA21 * aCoef[iDataTable][cSBPA21];
       dHyptMd01 = iHyptMd01 * aCoef[iDataTable][cHyptMd01];
       dCurSmk01 = iCurSmk01 * aCoef[iDataTable][cCurSmk01];
       dRace = iRace * aCoef[iDataTable][cRace];
       dLVH = iLVH * aCoef[iDataTable][cLVH];
       dCHD = iCHD * aCoef[iDataTable][cCHD];

       
       
       dRS = dRace + dNewAgeB + dHyptMd01 + dDiabts03 + dCurSmk01 + dSBPA21 + dLVH + dCHD;
       
       dAvgNewAgeB = dNewAgeA * aCoef[iDataTable + 2][cNewAge];

       var s = new String();
      
      
       dAvgRS = dAvgNewAgeB;

       iCnt = 0;
       for(t = 0;t <= 19; t = t + 2) {
          iCnt = iCnt + 1;
          aData[0][t] = iCnt;
          aDataWithAvg[0][t] = iCnt;
       }

       for(t = 0;t <=19; t++) {
          if(iDataTable==1) {
             dPO = aM[t][cPO];
             dRSO = aM[t][cRSO];
             dAvgPO = aAvgM[t][cPO];
             dAvgRSO = aAvgM[t][cRSO];
          } else {
               if(iDataTable==2) {
                  dPO = aF[t][cPO];
                  dRSO = aF[t][cRSO];
                  dAvgPO = aAvgF[t][cPO];
                  dAvgRSO = aAvgF[t][cRSO];
               } 
          }
          

          aData[1][t ]= roundOff(100 * (1 - Math.pow(1-dPO,Math.exp(dRS - dRSO))),2);
          i = 100 * (1 - Math.pow(1-dPO,Math.exp(dRS - dRSO)));
//          sMsg = "aData[1] is " + i;
//          alert(sMsg);
//          sMsg = "rounded value is " + aData[1][t];
//          alert(sMsg);
          aDataWithAvg[1][t] = aData[1][t];
          aDataWithAvg[2][t] = roundOff(100 * (1 -  Math.pow(1 - dAvgPO,Math.exp(dAvgRS - dAvgRSO))),2);

       }
       
       if (sGender=="F" && aData[1][19] > 15) {
         SwitchHeart(true);
         sMsg="The combination of risk factors entered suggests a very high risk of a stroke.  Because it exceeds the risk values seen in 99 percent of the ARIC population we do not provide a predicted risk value since estimates in this high range are imprecise. We urge you to consult with a physician on how best to reduce your risk of stroke.  Feel free to provide this risk calculator website address to your health care provider.";
         alert(sMsg);
       }  
       else if (sGender=="M" && aData[1][19] > 22) {
         SwitchHeart(true);
         sMsg="The combination of risk factors entered suggests a very high risk of a stroke.  Because it exceeds the risk values seen in 99 percent of the ARIC population we do not provide a predicted risk value since estimates in this high range are imprecise. We urge you to consult with a physician on how best to reduce your risk of stroke.  Feel free to provide this risk calculator website address to your health care provider.";
         alert(sMsg);
       }
       else
       {
       SwitchHeart(false);
       sYr1 = new String(aData[1][1]);
       sYr2 = new String(aData[1][3]);
       sYr3 = new String(aData[1][5]);
       sYr4 = new String(aData[1][7]);
       sYr5 = new String(aData[1][9]);
       sYr6 = new String(aData[1][11]);
       sYr7= new String(aData[1][13]);
       sYr8 = new String(aData[1][15]); 
       sYr9 = new String(aData[1][17]);
       sYr10 = new String(aData[1][19]);
  
       sAvgYr1 = new String(aDataWithAvg[2][1]);
       sAvgYr2 = new String(aDataWithAvg[2][3]);
       sAvgYr3 = new String(aDataWithAvg[2][5]);
       sAvgYr4 = new String(aDataWithAvg[2][7]);
       sAvgYr5 = new String(aDataWithAvg[2][9]);
       sAvgYr6 = new String(aDataWithAvg[2][11]);
       sAvgYr7= new String(aDataWithAvg[2][13]);
       sAvgYr8 = new String(aDataWithAvg[2][15]);
       sAvgYr9 = new String(aDataWithAvg[2][17]);
       sAvgYr10 = new String(aDataWithAvg[2][19]);

       if (bIE == true) {

          Avg10.innerText = roundOff(sYr10,1);
          
          yr1.innerText = sYr1 + " %";
          yr2.innerText = sYr2 + " %";
          yr3.innerText = sYr3 + " %";
          yr4.innerText = sYr4 + " %";
          yr5.innerText = sYr5 + " %";
          yr6.innerText = sYr6 + " %";
          yr7.innerText = sYr7 + " %";
          yr8.innerText = sYr8 + " %";
          yr9.innerText = sYr9 + " %";
          yr10.innerText = sYr10 + " %";
  
          Avgyr1.innerText = sAvgYr1 + " %";
          Avgyr2.innerText = sAvgYr2 + " %";
          Avgyr3.innerText = sAvgYr3 + " %";
          Avgyr4.innerText = sAvgYr4 + " %";
          Avgyr5.innerText = sAvgYr5 + " %";
          Avgyr6.innerText = sAvgYr6 + " %";
          Avgyr7.innerText = sAvgYr7 + " %";
          Avgyr8.innerText = sAvgYr8 + " %";
          Avgyr9.innerText = sAvgYr9 + " %";
          Avgyr10.innerText = sAvgYr10 + " %";
  

          Results.style.visibility="visible";
       } else {
          
          if(bNS4 == true) {
             top.F2.document.open("text/html");
             var sResults; 
                 sResults = "<body bgcolor=#CCCCCC><center>Percent Risk over a 10 Year Period";
                 sResults += "<table border=1>";
                 sResults += "<tr><thead><tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th><th>10</th></tr></thead>";
                 sResults += "<td><b>" + sYr1 + "</b></td>";
                 sResults += "<td><b>" + sYr2 + "</b></td>";
                 sResults += "<td><b>" + sYr3 + "</b></td>";
                 sResults += "<td><b>" + sYr4 + "</b></td>";
                 sResults += "<td><b>" + sYr5 + "</b></td>";
                 sResults += "<td><b>" + sYr6 + "</b></td>";
                 sResults += "<td><b>" + sYr7 + "</b></td>";
                 sResults += "<td><b>" + sYr8 + "</b></td>";
                 sResults += "<td><b>" + sYr9 + "</b></td>";
                 sResults += "<td><b>" + sYr10 + "</b></td></tr></table>";
                 
              if(bShowAvgRisk == true) {

                 sResults += "<br><center>Average Percent Risk over a 10 Year Period";
                 sResults += "<table border=1>";
                 sResults += "<tr><thead><tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th><th>10</th></tr></thead>";
                 sResults += "<td><b>" + sAvgYr1 + "</b></td>";
                 sResults += "<td><b>" + sAvgYr2 + "</b></td>";
                 sResults += "<td><b>" + sAvgYr3 + "</b></td>";
                 sResults += "<td><b>" + sAvgYr4 + "</b></td>";
                 sResults += "<td><b>" + sAvgYr5 + "</b></td>";
                 sResults += "<td><b>" + sAvgYr6 + "</b></td>";
                 sResults += "<td><b>" + sAvgYr7 + "</b></td>";
                 sResults += "<td><b>" + sAvgYr8 + "</b></td>";
                 sResults += "<td><b>" + sAvgYr9 + "</b></td>";
                 sResults += "<td><b>" + sAvgYr10 + "</b></td></tr></table>";
                 
              }   
                 
              sResults += "</center></body>";
            
              top.F2.document.write(sResults);
              top.F2.document.close();
              sAvg10 = roundOff(sYr10,1);
              top.F3.location.search = "?sAvg=" + sYr10
              bCalculated = true;  
              top.F3.location.href = "S_RCFrame3.html";
              //return true;
            } else {

            var oTmp = window.parent.document.getElementById("Results");
       	
                 
            var oyr1 = window.parent.document.getElementById("yr1");
            var oyr2 = window.parent.document.getElementById("yr2");
            var oyr3 = window.parent.document.getElementById("yr3");
            var oyr4 = window.parent.document.getElementById("yr4");
            var oyr5 = window.parent.document.getElementById("yr5");
            var oyr6 = window.parent.document.getElementById("yr6");
            var oyr7 = window.parent.document.getElementById("yr7");
            var oyr8 = window.parent.document.getElementById("yr8");
            var oyr9 = window.parent.document.getElementById("yr9");
            var oyr10 = window.parent.document.getElementById("yr10");
            
            var oAvgyr1 = window.parent.document.getElementById("Avgyr1");
            var oAvgyr2 = window.parent.document.getElementById("Avgyr2");
            var oAvgyr3 = window.parent.document.getElementById("Avgyr3");
            var oAvgyr4 = window.parent.document.getElementById("Avgyr4");
            var oAvgyr5 = window.parent.document.getElementById("Avgyr5");
            var oAvgyr6 = window.parent.document.getElementById("Avgyr6");
            var oAvgyr7 = window.parent.document.getElementById("Avgyr7");
            var oAvgyr8 = window.parent.document.getElementById("Avgyr8");
            var oAvgyr9 = window.parent.document.getElementById("Avgyr9");
            var oAvgyr10 = window.parent.document.getElementById("Avgyr10");
            var oAvg10 = window.parent.document.getElementById("Avg10");
          }
          
          oAvgyr1.innerHTML = sAvgYr1 + "%";
          oAvgyr2.innerHTML = sAvgYr2 + "%";
          oAvgyr3.innerHTML = sAvgYr3 + "%";
          oAvgyr4.innerHTML = sAvgYr4 + "%";
          oAvgyr5.innerHTML = sAvgYr5 + "%";
          oAvgyr6.innerHTML = sAvgYr6 + "%";
          oAvgyr7.innerHTML = sAvgYr7 + "%";
          oAvgyr8.innerHTML= sAvgYr8 + "%";
          oAvgyr9.innerHTML= sAvgYr9 + "%";
          oAvgyr10.innerHTML = sAvgYr10 + "%";
     
          oyr1.innerHTML = sYr1 + "%";                 
          oyr2.innerHTML = sYr2 + "%";
          oyr3.innerHTML = sYr3 + "%";
          oyr4.innerHTML = sYr4 + "%";
          oyr5.innerHTML = sYr5 + "%";
          oyr6.innerHTML = sYr6 + "%";
          oyr7.innerHTML = sYr7 + "%";
          oyr8.innerHTML = sYr8 + "%";
          oyr9.innerHTML = sYr9 + "%";
          oyr10.innerHTML = sYr10 + "%";
        
          oAvg10.innerHTML = roundOff(sYr10,1); 
           
          oTmp.style.visibility = "visible";  
     
    }  
  }
}
 

