<HTML>
<HEAD>
<TITLE>Oil & Gas Exploration</TITLE>
<SCRIPT LANGUAGE=JavaScript> <!--
/////////////////////////////////////////////////////////////
// General form/applet support code
/////////////////////////////////////////////////
// Get a single value from a form object. Works with
// checkbox (T/F), radio (value or number), single-selection (value
or text)
// text, hidden
function getFormValue(inputObj) {
var retval = null;
// text, hidden, etc?
retval = inputObj.value;
if (retval == null || retval == "") { retval = inputObj.text; }
// checkbox
if (inputObj.checked != null) { // Set to 0/1 regardless of value
retval = inputObj.checked ? 1 : 0;
}
// select
if (retval == null && inputObj.options != null) {
var opt = inputObj.options[inputObj.selectedIndex];
retval = opt.value;
if (retval == null || retval == "") {
retval = opt.text;
} }
// radio
if (retval == null && inputObj.length != null) {
for (var i=0; i<inputObj.length; i++) {
if (inputObj[i].checked) {
var retval = inputObj[i].value;
if (retval == null || retval == "") {
retval = i;
} } } }
if (retval != null) {
// See if it will "cast" to a number
var num = parseFloat(retval);
if (num == retval) {
return num;
} }
return retval;
}
/////////////////////////////////////////////////
// Set param based on a form value.
// The parameter name is the same as the object NAME field
function setFormParam(appletObj, formObj) {
var value = getFormValue(formObj);
if (value != null) { appletObj.setParam(formObj.name, value); }
}
// Application specific code
function updatePlot(){
if (! document.JWavePlot.isStarted()) {
// Wait for applet to get started before trying to updatePlot
setTimeout("updatePlot()", 250);
return false;
}
//with (document) { // easier
//Set params for the plot from their form objects
document.JWavePlot.openSession();
setFormParam(document.JWavePlot, document.Form1.display_selection);
setFormParam(document.JWavePlot, document.Form1.path_shaded);
setFormParam(document.JWavePlot, document.Form1.zaxis);
setFormParam(document.JWavePlot, document.Form1.xaxis);
// make the plot
document.JWavePlot.execute();
//}
return false; // prevent reload of page if called from FORM submit
}
function isInRange(inputValue, lowValue, highValue, itemFocus, isInt)
{
//check to make sure all input numbers are really numbers
if ( isNaN(inputValue) ) {
alert("Enter a valid number")
itemFocus.focus()
return
}
if ( isNaN(lowValue) ) {
alert("The LOW value is not a number")
return
}
if ( isNaN(highValue) ) {
alert("The HIGH value is not a number")
return
}
//make sure the value is in the range
if (isInt)
var my_input = Math.round(inputValue)
else
var my_input = parseFloat(inputValue)
var my_low = parseFloat(lowValue)
var my_high = parseFloat(highValue)
if (my_input < my_low || my_input > my_high) {
alert ("Enter a value between "+my_low+" and "+my_high)
itemFocus.focus()
return
}
//convert to (nearest) integer if requested
//if (isInt) {
//itemFocus.value = Math.round(inputValue)
//}
}
// -->
</SCRIPT>
</HEAD>
<!-- As soon as the body is loaded (and thus the applets are inited),
update the plot. -->
<BODY onLoad="updatePlot()" BGCOLOR="#FFFFFF" TEXT="#000000">
<FONT FACE="ARIAL" COLOR="#000000"><B>
<CENTER>
<FORM NAME="Form1" onSubmit="return updatePlot()">
<TABLE WIDTH=100% HEIGHT="450" BORDER='0'>
<TR>
<TD WIDTH=30% BGCOLOR="#000000" COLSPAN='2'ALIGN="CENTER">
<IMG SRC='title.gif' ALIGN=center >
</TD>
<TD WIDTH="30%" BGCOLOR='#000000' COLSPAN='2'><CENTER>
<IMG SRC='lith_leg.gif'VALIGN="TOP">
<IMG SRC='gam_son.gif'>
</TD>
<TD BGCOLOR='#000000'WIDTH='60%'>
<CENTER>
<APPLET NAME="JWavePlot"
CODE="com.visualnumerics.jwave.JWaveApplet"
CODEBASE="../.."
ARCHIVE="JWaveConnectInfo.jar, JWave.jar"
WIDTH=450
HEIGHT=450>
<PARAM NAME="FUNCTION" VALUE="oilgasdemo">
<PARAM NAME="EXECUTE_ON_START" VALUE="NO">
</APPLET>
</center>
</TD>
</TR>
</TABLE>
<TABLE WIDTH=100% BORDER='1'>
<TR>
<TD WIDTH="30%" VALIGN="TOP" BGCOLOR="#bebebe"><FONT FACE="ARIAL"
COLOR='BLACK'><B><CENTER>
Display Selection
<select name="display_selection">
<option value=0> Display Well Log
<option value=1> Display Well Paths(Choose Path Shading & Rotation)
<option value=2> Display Oil Potential(Choose Rotation)
</select>
</center></B></FONT>
</TD>
<TD WIDTH="20%" VALIGN="TOP" BGCOLOR="#bebebe"><FONT FACE="ARIAL"
COLOR='BLACK'><B><CENTER>
Path Shading<BR>
<select name="path_shaded">
<option value=0> With a Color
<option value=1 SELECTED> With Lithology
<option value=2 > With Gamma
<option value=3> With Sonic
</select>
</CENTER></B></FONT>
</TD>
<TD WIDTH=40% VALIGN="TOP" BGCOLOR="#bebebe"><FONT FACE="ARIAL"
COLOR='BLACK'><B><CENTER> View Rotation<br>
Z-Axis° <input type=text name="zaxis" value="60" size=2
onBlur="isInRange(value,0.0,180.0,this.form.zaxis,1)">
X-Axis° <input type=text name="xaxis" value="30" size=2
onBlur="isInRange(value,0,90,this.form.Xrotation,1)">
</CENTER></B></FONT>
</TD>
</TR>
<TR>
<TD COLSPAN='3'BGCOLOR="#bebebe"><FONT FACE="ARIAL" COLOR='BLACK'><B><CENTER>
<INPUT TYPE=SUBMIT VALUE="Update Plot"
onSubmit="return updatePlot()">
</CENTER></B></FONT>
</TD>
</TR>q </TABLE>
</FORM>
</CENTER>
<!-- This page is a collaborative effort -->
<!-- Written by Tonie Wenger & Sharon Beland -->
</BODY>
</HTML>