//
//ab
// file: evoluer.js
// version: 1.0, date: 04/2000
//          2.0, date: 12/2000
//
// copyright: Albator
//

function strategietest() {
  var newwind2=window.open('liste.html','truc');
  newwind2.document.write('<br> coucou');
}


function strategie() {
  var sico;var type; var mat;var exer;var price;var delt;var volat;var levier;var cool;
  var stemps;var svol;var volu;var pari;var comment;
  var tx;var txdiv;var typew;
  var em;var r; var t;
  var fg;var money;var sep;var temp;var mid;var loc;var loc1;var j;var fg;var entete;var prixg;sep=" ";
//  var chif;
  var b=new Array();
  var avervolp, avervolc;
  var nbavervolp,nbavervolc;

  mystring=document.mform.select1[document.mform.select1.selectedIndex].value;
  r=extract(",");
  t=extract(",");
  prixg=extract(",");
  prixg=document.mform.pact.value;
  loc1=document.mform.select1.selectedIndex;
//
  var newwind2=window.open();
  rejete='';
  cool='<html><head>';
  cool+='<title>Assistant de strategie de warrants</title>';
  cool+='</head>';
  cool+='<frameset rows="205,*" border="0"><frame name="support" scrolling="no" noresize="noresize">';
  cool+='<frame name="warrants">';
  cool+='<noframes>';
  cool+='<body>Cette page utilise les cadres, mais votre navigateur ne les supporte pas.</body>';
  cool+='</noframes>';
  cool+='</frameset></html>';
  newwind2.document.write(cool);
//
//  newwind2.support.document.open();
//  newwind2.warrants.document.open();
  cool='<html>';
  cool+='<head><title>Evaluation de strat&eacute;gie</title>';
  cool+='<script language="javascript" src="def.js"></script>';
  cool+='</head><body>';
  newwind2.support.document.write(cool);
  cool='<font face="Arial" size="2"><b>'+r+' - '+t+' @ '+prixg+'</b><br>';
//  cool+=" Cours sous-jacent: "+prixg
//    +" : pour "+round_up((document.mform.varact.value/prixg-1.0)*100.0,2)+"% de variation, soit<br>";
  cool+="Evaluation pour une strategie &agrave "+document.mform.varact.value
    +" ("+round_up((document.mform.varact.value/prixg-1.0)*100.0,2)+"% de variation) dans "
    +document.mform.vartemps.value+" "+((document.mform.vartemps.value<2)?"jour":"jours")
    +" avec une variation de volatilit&eacute; de "
    +document.mform.varvol.value+" %.<br>"
    +" Prise en compte du spread pour le calcul des Gain/Perte, (G/P), et des G/P potentiels, G/P pot.</font><br>";
//    +"";
  newwind2.support.document.write(cool);
  avervolp=0.0;
  nbavervolp=0;
  avervolc=0.0;
  nbavervolc=0;
  irejec=1;
  for(j = 1;j<=(a[loc1+1].length-1);j++) {
    mystring=a[loc1+1][j];
    sico=extract(",");
    type=extract(",");
    if ( ((type == 'P') && (document.mform.straP.checked))
       || ((type == 'C') && (document.mform.straC.checked)) ) {
      mat=extract(",");
      exer=extract(",");
      price=extract(",");
//
// ancienne methode, ne pas effacer ou modifier a cause de la fonction extract.
      delt=extract(",");volat=extract(",");levier=extract(",");stemps=extract(",");svol=extract(",");
      volu=extract(",");pari=extract(",");comment=extract(",");em=extract(",");
      tx=extract(",");txdiv=extract(",");typew=extract(",");
      document.mform.varspread.value=extract(",");
      document.mform.vol.value=volat;
      loc22=j;
      detailwarr2(loc22);
      if (svol == "") {
// modifier pour calcul de stats
        document.mform.vol.value=1;
        testinput();
        valwar=parseFloat(document.mform.valo.value);
        volat=round_up(calculvolat(valwar,m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        document.mform.vol.value=volat;
//    calcvol();
//    volat=document.mform.vol.value;
//        m_step=100;
        testinput();
      //document.mform.valo.value=round_up(calcprix(m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),4);
        delt=round_up(sensibilite("delta",m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        levier=round_up(sensibilite("levier",m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        svol=round_up(sensibilite("vol",m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        stemps=round_up(sensibilite("temps",m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        a[loc1+1][j]=sico+","+type+","+mat+","+exer+","+price+","+delt+","+volat+","+levier+","+stemps+","+svol+","
        +volu+","+pari+","+comment+","+em+","+tx+","+txdiv+","+typew;
      }
      if (volat !='') scenar();
//
//
      pmvalue=round_up(1.0*(document.mform.scenarwarr.value-document.mform.varspread.value-document.mform.valo.value),2);
      pmvaluep=round_up(100.0*pmvalue/document.mform.valo.value,2);
      ratio=Math.abs(round_up(document.mform.pourcspread.value/stemps,2));
      pmvaluepot=round_up(-pmvalue-2.0*document.mform.varspread.value,2);
      pmvaluepotp=round_up(100.*pmvaluepot/document.mform.scenarwarr.value,2);
//
      cool='<table width="*" border="1" cellspacing="0">';
      color1=hex(Math.min(Math.max(10,127*(2-Math.pow(Math.pow((1.0-prixg/exer),2),0.5))),255));
      cool+="<tr>"+her(sico)+hec(type)+hec(mat)
        +het('<font color="#'+color1+color1
          +'10">'+exer
          +'</font>')
        +her(price)
//        +her(delt)
//        +her(volat)
        +her(round_up(levier,2))
//        +he(" ")
        +het('<font color="#'+hex(Math.min(Math.max(128,Math.min(255+4*(4+parseInt(stemps)),255)),255))
          +hex(Math.min(Math.max(10,255+5*parseInt(stemps)),255))+'10">'
          +round_up(stemps,2)
          +'</font>')
        +her(round_up(document.mform.scenarwarr.value,3))
        +het('<font color="#'+hex(Math.min(Math.max(10,128-4*parseInt(document.mform.pourc.value)),255))
          +hex(Math.min(Math.max(10,128+5*parseInt(document.mform.pourc.value)),255))+'10">'
          +document.mform.pourcspread.value
          +'</font>')
        +hec(round_up(volat,2))
        +hec(round_up(pmvalue,2))
        +hec(round_up(pmvaluep,2))
        +hec(ratio)
        +hec(pmvaluepot)
        +hec(Math.max(pmvaluepotp,-100))
//        +her(svol)+her(volu)+her(pari)+he(em)
//ab        +hec(document.mform.varspread.value)
        +"</tr></table>";
      if (((volat > 10.0) && (volat<100.0)) && (document.mform.varspread.value >= 0.01)) {
      b[j-irejec]=','+sico+','+type+','+mat+','+exer+','
        +prixg+','
        +price+','
//        +delt+','
        +round_up(levier,2)+','
        +round_up(stemps,2)+','
        +round_up(document.mform.scenarwarr.value,3)+','
        +round_up(document.mform.pourc.value,2)+','
        +round_up(volat,2)+','
        +pmvalue+','
        +pmvaluep+','
        +ratio+','
        +pmvaluepot+','
        +pmvaluepotp+',';
        newwind2.warrants.document.write(cool);
        if (type == "C") {
          avervolc+=1.0*volat;
          nbavervolc++;
        } else {
          avervolp+=1.0*volat;
          nbavervolp++;
        }
      } else {
        rejete+=cool;
        irejec++;
      }
    }
//    newwind2.document.write('<table width="*" border="1" cellspacing="0" bgcolor="#CCCCCC">');
//    newwind2.document.write('<tr">');
  }
  if (rejete) {
    newwind2.warrants.document.write('<br>');
    newwind2.warrants.document.write('Warrants pas retenus');
    newwind2.warrants.document.write(rejete);
    newwind2.warrants.document.write('<br>');
  }
//
// write table in bottom part of the frame
  newwind2.warrants.document.write('Evaluation sans garantie, effectu&eacutee le ');
  newwind2.warrants.document.write('<script type="text/javascript">document.write(Date())');
  newwind2.warrants.document.write('</script>');
  newwind2.warrants.document.write('</body></html>');
//
//
  newwind2.support.document.write('<font face="Arial" size="2"><b>Moyenne de la volatilite des warrants :</b> ');
  newwind2.support.document.write((nbavervolc)+' Call &agrave; <b>'+round_up(avervolc/nbavervolc,2));
  newwind2.support.document.write('</b>,   '+(nbavervolp)+' Put &agrave; <b>'+round_up(avervolp/nbavervolp,2));
  newwind2.support.document.write('</b>,   tous les '+(nbavervolp+nbavervolc)+' &agrave; <b>'+round_up((avervolp+avervolc)/(nbavervolc+nbavervolp),2));
  newwind2.support.document.write('</b></font>');
//
  cool='<form name="myform">';
  cool+='<table width="*" border="1" cellspacing="0" bgcolor="#CCCCCC">';
  cool+="<tr>"
    +hec('<a href="#" onclick="renew(1);">Sicov</a>')
    +hec('<font size="1">C/P</font>')
    +hec('<a href="#" onclick="renew(3);">Maturit&eacute;</a>')
    +hec('<a href="#" onclick="renew(4);">Strike</a>')
    +hec('<a href="#" onclick="renew(6);">Cours</a>')
    +hec('<font size="1"><a href="#" onclick="renew(7);">Levier</a></font>')
    +hec('<font size="1"><a href="#" onclick="renew(8);">Theta</a></font>')
//    +hec('<a href="#" onclick="renew(8);">Vega</a>')
    +hec('<font size="1"><a href="#" onclick="renew(9);">Eval.w</a></font>')
    +hec('<font size="1"><a href="#" onclick="renew(10);">Var.w %</a></font>')
    +hec('<font size="1"><a href="#" onclick="renew(11)">Volatilit&eacute;</a></font>')
    +hec('<a href="#" onclick="renew(12);">G/P</a>')
    +hec('<a href="#" onclick="renew(13);">G/P %</a>')
    +hec('<a href="#" onclick="renew(14);">Ratio</a>')
    +hec('<a href="#" onclick="renew(15);">G/P pot</a>')
    +hec('<a href="#" onclick="renew(16);">G/P pot %</a>')
    +he(' ')
    +hec('Trie')
    +"</tr>";
  cool+="<tr>"
    +hec('')
    +hec('')
    +hec('')
    +hec('<input name="str_max" type="text" size="5">'+
      '<input name="str_min" type="text" size="5">')
    +hec('')
    +hec('')
    +hec('')
    +hec('')
    +hec('')
    +hec('<input name="vol_max" type="text" size="5" value="100.0">'+
      '<input name="vol_min" type="text" size="5" value="0.0">')
    +hec('')
    +hec('')
    +hec('')
    +hec('')
    +hec('')
    +he(' ')
    +hec('<a href="#" onclick="plus()">+</a> <a href="#" onclick="moins()">-</a> <a href="#" onclick="daytrade();">d</a>')
    +"</tr>"
    +"</table>";
  cool+='</form>';
  newwind2.support.document.write(cool);
  newwind2.support.document.write('<script type="text/javascript">');
  newwind2.support.document.write('b=new Array();');
  b.sort();
  for(j = 0;j<=(b.length-1);j++) {
    newwind2.support.document.write('b['+j+']="'+b[j]+'";');
  }
//  newwind2.document.write('renew();');
//  newwind2.document.write('relist();');
  newwind2.support.document.write('</script>');
  newwind2.support.document.write('</body></html>');
//
// fermer le document
//  newwind2.support.document.close();
//  newwind2.warrants.document.close();
}


function evolution() {
  var sico;var type; var mat;var exer;var price;var delt;var volat;var levier;var cool;
  var stemps;var svol;var volu;var pari;var comment;
  var tx;var txdiv;var typew;
  var em;var r; var t;
  var fg;var money;var sep;var temp;var mid;var loc;var loc1;var i;var fg;var entete;var prixg;sep=" ";

  loc1=document.mform.select1.selectedIndex;
  loc2=document.mform.lwarr.selectedIndex;
  if (( loc1 >= 0)
       && (loc2 >=0 )) {
    mystring=document.mform.select1[loc1].value;
    r=extract(",");
    t=extract(",");
    prixg=extract(",");
//
    var newwind2=window.open();
    cool='<html><head>';
    cool+='<title>Assistant de strategie de warrants</title>';
    cool+='</head>';
    cool+="<body><font face='Arial' size='2'><b>"+r+" - "+t+" @ "+prixg+"</b><br>";
    newwind2.document.write(cool);
    mystring=awar[loc2];
    m_m=extract(',');
    m_m=extract(',');
    mystring=a[loc1+1][m_m];
//    newwind2.document.write(mystring);
    sico=extract(",");
    type=extract(",");
    mat=extract(",");
    exer=extract(",");
    price=extract(",");
//
// ancienne methode, ne pas effacer ou modifier a cause de la fonction extract.
      delt=extract(",");volat=extract(",");levier=extract(",");stemps=extract(",");svol=extract(",");
      volu=extract(",");pari=extract(",");comment=extract(",");em=extract(",");
      tx=extract(",");txdiv=extract(",");typew=mystring;
      document.mform.vol.value=volat;
      if (svol == "") {
// modifier pour calcul de stats
        document.mform.vol.value=1;
        testinput();
        valwar=parseFloat(document.mform.valo.value);
        volat=round_up(calculvolat(valwar,m_type,m_style,60,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        document.mform.vol.value=volat;
//    calcvol();
//    volat=document.mform.vol.value;
        m_step=100;
        testinput();
      //document.mform.valo.value=round_up(calcprix(m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),4);
        delt=round_up(sensibilite("delta",m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        levier=round_up(sensibilite("levier",m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        svol=round_up(sensibilite("vol",m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        stemps=round_up(sensibilite("temps",m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        a[loc1+1][j]=sico+","+type+","+mat+","+exer+","+price+","+delt+","+volat+","+levier+","+stemps+","+svol+","
        +volu+","+pari+","+comment+","+em+","+tx+","+txdiv+","+typew;
      }
    cool="Evolution du warrant <b><i>"+sico+"</i></b> avec une volatilit&eacute; dimnu&eacute;e de "
      +document.mform.dvol.value+"%, maintenue constante &agrave; "
      +round_up(volat,1)+" % et finalement augment&eacute de "+document.mform.dvol.value+"%.<br><br>";
    newwind2.document.write(cool);
//      cool='<html><body>';
      cool='<table width="*" border="1" cellspacing="0" bgcolor="#CCCCCC">';
      cool+="<tr>"+"<td bgcolor=\"#ffffff\"></td>"+"<td colspan=\"3\" align=\"center\"size=\"2\"><b>Support</b></td>";
      cool+="</tr>";
      cool+="<tr><td width=\"60\"><font size=\"2\"><b>Warrant</b></font></td>";
      cool+=hec('var.Vol '+(-1.0*document.mform.dvol.value)+'%')+hec("ss var.vol")+hec('var.Vol '+(+1.0*document.mform.dvol.value)+'%');
      cool+="</tr>";
      cool+="</table>";
      newwind2.document.write(cool);
      pricenew=document.mform.newwar.value;
      dwar=0.01;
      for (i=Math.max(-10,-100*pricenew+1);i<=10;i++) {
        cool='<table width="*" border="1" cellspacing="0"><tr>';
        dsupdwar=(1.0*prixg)/(1.0*levier*price);
        cool+="<td width=\"60\" bgcolor=\"#cccccc\" align=\"right\"><font size=\"2\"><b>"+(round_up((1.0*pricenew)+dwar*i,2))+"</b></font></td>";
        document.mform.vol.value=(1.0-0.01*document.mform.dvol.value)*volat;
        cool+=her(warapas((1.0*price),(1.0*prixg),(1.0*pricenew)+i*dwar,dsupdwar));	
        document.mform.vol.value=volat;
        cool+=her(warapas((1.0*price),(1.0*prixg),(1.0*pricenew)+i*dwar,dsupdwar));	
        document.mform.vol.value=(1.0+0.01*document.mform.dvol.value)*volat;
        cool+=her(warapas((1.0*price),(1.0*prixg),(1.0*pricenew)+i*dwar,dsupdwar));	
        cool+="</tr></table>";;
        newwind2.document.write(cool);
      }
//    newwind2.document.write('</table>');
    newwind2.document.write('Evaluation sans garantie, effectu&eacutee le ');
    newwind2.document.write('<script type="text/javascript">document.write(Date())');
    newwind2.document.write('</script>');
    newwind2.document.write('</body></html>');
  } else {
    if (loc1 < 0) {
      alert("Selectionner un support");
    } else {
      if (loc2 < 0) alert ("Selectionner un warrant");
    }
  }
}


function warapas(price,prixg,valwar,dsupdwar) {
  tmpwar=1.0*price+0.003;
//  tmpwar=1.1*valwar;
  document.mform.scenarwarr.value=1.0*price;
  tmpsup=1.0*prixg;
  iter=1
  while ( (Math.abs(tmpwar-valwar) > 0.002)
    && (iter <= 30) ) {
    iter++;
    topsup=tmpsup+dsupdwar*(valwar-tmpwar);
    document.mform.varact.value=topsup;
    scenar();
//    if (Math.abs(tmpwar-(1.0*document.mform.scenarwarr.value)) < 0.0001) {
      tmpsup=tmpsup+(tmpsup-topsup)/(tmpwar-1.0*document.mform.scenarwarr.value)*(valwar-tmpwar);
//    } else {
//      tmpsup=(tmpsup+topsup)/2.;
//    }
    document.mform.varact.value=tmpsup;
    scenar();
    tmpwar=1.0*document.mform.scenarwarr.value;
  }
  if (iter < 30) {
    return round_up(tmpsup,2);
  } else {
    return 'Pb,'+tmpsup+','+tmpwar;
  }
}

function flat() {
  var sico;var type; var mat;var exer;var price;var delt;var volat;var levier;var cool;
  var stemps;var svol;var volu;var pari;var comment;
  var tx;var txdiv;var typew;
  var em;var r; var t;
  var fg;var money;var sep;var temp;var mid;var loc;var loc1;var i;var fg;var entete;var prixg;sep=" ";

  loc1=document.mform.select1.selectedIndex;
  loc2=document.mform.lwarr.selectedIndex;
  if (( loc1 >= 0)
       && (loc2 >=0 )) {
    mystring=document.mform.select1[loc1].value;
    r=extract(",");
    t=extract(",");
    prixg=extract(",");
//
    var newwind2=window.open();
    cool='<html><head>';
    cool+='<title>Assistant de strategie de warrants</title>';
    cool+='</head>';
    cool+="<body>";
    newwind2.document.write(cool);
    mystring=awar[loc2];
    m_m=extract(',');
    m_m=extract(',');
    mystring=a[loc1+1][m_m];
//    newwind2.document.write(mystring);
    sico=extract(",");
    type=extract(",");
    mat=extract(",");
    exer=extract(",");
    price=extract(",");
//
// ancienne methode, ne pas effacer ou modifier a cause de la fonction extract.
      delt=extract(",");volat=extract(",");levier=extract(",");stemps=extract(",");svol=extract(",");
      volu=extract(",");pari=extract(",");comment=extract(",");em=extract(",");
      tx=extract(",");txdiv=extract(",");typew=mystring;
      document.mform.vol.value=volat;
      if (svol == "") {
// modifier pour calcul de stats
        document.mform.vol.value=1;
        testinput();
        valwar=parseFloat(document.mform.valo.value);
        volat=round_up(calculvolat(valwar,m_type,m_style,60,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        document.mform.vol.value=volat;
//    calcvol();
//    volat=document.mform.vol.value;
        m_step=100;
        testinput();
      //document.mform.valo.value=round_up(calcprix(m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),4);
        delt=round_up(sensibilite("delta",m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        levier=round_up(sensibilite("levier",m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        svol=round_up(sensibilite("vol",m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        stemps=round_up(sensibilite("temps",m_type,m_style,m_step,m_spot,m_dat1,m_dat2,m_tx,m_div,m_vol,m_exercice,m_parite),2);
        a[loc1+1][j]=sico+","+type+","+mat+","+exer+","+price+","+delt+","+volat+","+levier+","+stemps+","+svol+","
        +volu+","+pari+","+comment+","+em+","+tx+","+txdiv+","+typew;
      }
    cool="<font face='Arial' size='2'><b>Warrant - <i>"+sico+"</i> - acheter &agrave; "+document.mform.hasuivi.value+"</b><br>";
    cool+="Evolution du cours du support <b>"+t+" - <i>"+r+"</i> - </b>"+prixg+"<br>";
    cool+="avec une volatilit&eacute; dimnu&eacute;e de "
      +document.mform.dvol.value+"%, maintenue constante &agrave; "
      +round_up(volat,1)+" % et finalement augment&eacute de "+document.mform.dvol.value+"%, lorsque le warrant garde son cours d'achat de "
      +document.mform.hasuivi.value+" durant le temps.</font><br><br>";
    newwind2.document.write(cool);
//      cool='<html><body>';
      cool='<table width="*" border="1" cellspacing="0" bgcolor="#CCCCCC">';
      cool+="<tr>"+"<td bgcolor=\"#ffffff\"></td>"+"<td colspan=\"3\" align=\"center\"><b><font face='Arial' size='2'>Support</font></b></td>";
      cool+="</tr>";
      cool+="<tr><td width=\"80\"><font face='Arial' size='2'><b>temps</b></font></td>";
      cool+=hec('var.Vol '+(-1.0*document.mform.dvol.value)+'%')+hec("ss var.vol")+hec('var.Vol '+(+1.0*document.mform.dvol.value)+'%');
      cool+="</tr>";
      cool+="</tr></table>";
      newwind2.document.write(cool);
      pricenew=document.mform.hasuivi.value;
      dwar=0.01;
      for (i=1;i<=1*document.mform.dureesuivi.value/document.mform.passuivi.value;i++) {
        document.mform.vartemps.value=i*document.mform.passuivi.value;
        cool='<table width="*" border="1" cellspacing="0"><tr>';
        dsupdwar=(1.0*prixg)/(1.0*levier*price)*(1.0+0.01*stemps);
        cool+="<td width=\"80\" bgcolor=\"#cccccc\" align=\"right\"><b><font face='Arial' size='2'>"
        cool+=((document.mform.vartemps.value<2)?document.mform.vartemps.value+" jour":document.mform.vartemps.value+" jours")+"</b></font></td>";
        document.mform.vol.value=(1.0-0.01*document.mform.dvol.value)*volat;
        cool+=her(warapas((1.0*price),(1.0*prixg),(1.0*pricenew),dsupdwar));	
        document.mform.vol.value=volat;
        cool+=her(warapas((1.0*price),(1.0*prixg),(1.0*pricenew),dsupdwar));	
        document.mform.vol.value=(1.0+0.01*document.mform.dvol.value)*volat;
        cool+=her(warapas((1.0*price),(1.0*prixg),(1.0*pricenew),dsupdwar));	
        cool+="</tr></table>";;
        newwind2.document.write(cool);
      }
        document.mform.vartemps.value=0;
    newwind2.document.write('</font>');
    newwind2.document.write('Evaluation sans garantie, effectu&eacutee le ');
    newwind2.document.write('<script type="text/javascript">document.write(Date())');
    newwind2.document.write('</script>');
    newwind2.document.write('</body></html>');
  } else {
    if (loc1 < 0) {
      alert("Selectionner un support");
    } else {
      if (loc2 < 0) alert ("Selectionner un warrant");
    }
  }
}


function chact() {
  document.mform.varact.value=round_up((1.0+0.01*document.mform.varactp.value)*document.mform.pact.value,2);
}

function chactp() {
  document.mform.varactp.value=round_up(100.0*document.mform.varact.value/document.mform.pact.value-100.0,2);
}

function popupon(text, eventObj) { 
  if (document.mform.disp.checked) { 

  ieLayer = 'document.all[\'popup\']';
  nnLayer = 'document.layers[\'popup\']';

  //-- Start Editable Area --
  borderColor = '#000000';
  bgColor = '#ffffcc';
  border = 1;
  padding = 3;
  xOffset = 3;
  yOffset = 3;
  Font = 'face="Verdana, Arial, Helvetica, sans-serif" size=2';
  //-- End Editable Area --

  if (!(document.all || document.layers)) return;
  if (null != document.all) document.popup = eval(ieLayer); else document.popup = eval(nnLayer);

  var table = "";
  var bigTable = ""; // Workaround for Netscape

  if (null != document.all) 
    { // If IE4+
    table += "<table bgcolor= "+ bgColor +" border= "+ border +" cellpadding= "+ padding +" cellspacing=0>";
    table += "<tr><td>";
    table += "<table cellspacing=0 cellpadding="+ padding +">";
    table += "<tr><td bgcolor= "+ bgColor +"><font "+ Font +">" + text + "</font></td></tr>";
    table += "</table></td></tr></table>"
    } 
  else 
    { // If NN4+
    table += "<table cellpadding="+ padding +" border="+ border +" cellspacing=0 bordercolor="+ borderColor +">";
    bigTable += "<table width="+(document.width - xOffset - eventObj.layerX - 30)+"cellpadding="+ padding +" border="+ border +" cellspacing=0 bordercolor="+ borderColor +">";
    table += "<tr><td bgcolor="+ bgColor +"><font "+ Font +">" + text + "</font></td></tr></table>";
    bigTable += "<tr><td bgcolor="+ bgColor +"><font "+ Font +">" + text + "</font></td></tr></table>";
    }

  if (null != document.all) 
    { // If IE4+
    document.popup.innerHTML = table;
    document.popup.style.left = Math.min(eventObj.x + xOffset,500);
    document.popup.style.top  = Math.min(eventObj.y + yOffset,500);
    document.popup.style.visibility = "visible";
    } 
  else 
    { // If NN4+
    document.popup.document.open();
    document.popup.document.write(table);
    document.popup.document.close();
    if ((document.popup.document.width + xOffset + eventObj.layerX) > document.width)
    { // If the layer runs off the right hand side
      document.popup.document.open();
      document.popup.document.write(bigTable);
      document.popup.document.close();
    }
    document.popup.left = eventObj.layerX + xOffset;
    document.popup.top  = eventObj.layerY + yOffset;
    document.popup.visibility = "visible";
  }
}
}

function popupoff() { 
  if (!(document.all || document.layers)) return;
  if (null == document.popup) {
  } else if (null != document.all)
    document.popup.style.visibility = "hidden";
  else
    document.popup.visibility = "hidden";
    document.popup = null;
}

