Aca va el codigo con los mensajes...
Sobre lo de los calculos diferentes no sabria decirte, porque realmente no se como trabaja javascript con el coseno y esas cosas (de hecho ni me acuerdo que era el coseno

!)... aunque si P es igual a multiplicar V por I por el coseno de FI deberia estar bien.
Código:
<html>
<title> Potencia </title>
<head>
<script languaje="javascript">
<!--
function calcular(que)
{
var V = parseInt(document.getElementById('V').value);
var I = parseInt(document.getElementById('I').value);
var FI = parseInt(document.getElementById('FI').value);
var res, txt;
switch(que)
{
case 'S': res = V * I;
break;
case 'P': res = V * I * Math.cos(FI);
break;
case 'Q': res = V * I * Math.sin(FI);
break;
}
document.getElementById('R').value = "Tu calculo " + que + " es igual a: " + res;
}
//-->
</script>
</head>
<body>
<center><font size=7 Face="Comic Sanz MS"> "Potencia" </font><br><br>
<form name="a">
<table border="2">
<tr>
<td>
<input type="text" name="V" id="V">V<br>
<input type="text" name="I" id="I">I<br>
<input type="text" name="FI" id="FI">Fi<br>
<input type="button" name="s" value="calcular s" onClick="calcular('S')">
<input type="button" name="p" value="calcular p" onClick="calcular('P')">
<input type="button" name="q" value="calcular q" onClick="calcular('Q')">
<input type="reset" value="Reset" name="r">
</td>
<td>
<textarea name="R" id="R" Rows="10" Cols="50"></textarea>
</td>
</tr>
</table>
</form>
</body>
</html>