//functions
function DOit() {
var userinput = document.calc.input.value;

document.calc.input.value = eval(userinput);

}

function plus() {

document.calc.input.value += '+';

}

function minus() {

document.calc.input.value += '-';

}

function mult() {

document.calc.input.value += '*';

}

function div() {

document.calc.input.value += '/';

}

function decimal() {

document.calc.input.value += '.';

}

function openp() {

document.calc.input.value += '(';

}

function closep() {

document.calc.input.value += ')';

}

function num(x) {

document.calc.input.value += x;

}

function recip() {

document.calc.input.value = 1/(document.calc.input.value);

}

function square() {

document.calc.input.value = (document.calc.input.value)*(document.calc.input.value);

}

function cube() {

document.calc.input.value = (document.calc.input.value)*(document.calc.input.value)*(document.calc.input.value);

}

function pi() {

document.calc.input.value += Math.PI;

}

function plus_or_minus() {

document.calc.input.value *= -1;

}

function percent() {

document.calc.input.value *= .01;

}

function sqrt() {

document.calc.input.value = Math.sqrt(document.calc.input.value);

}

function power() {

var np = prompt("What power do you want? Must be a number!","")

document.calc.input.value = Math.pow(document.calc.input.value, np);

}

function cos() {

document.calc.input.value = Math.cos(document.calc.input.value);

}

function sin() {

document.calc.input.value = Math.sin(document.calc.input.value);

}

function tan() {

document.calc.input.value = Math.tan(document.calc.input.value);

}

function Round() {

document.calc.input.value = parseInt(document.calc.input.value);

}



//main
function Calc(p_item, p_value) {
	if (p_item == null)	return;

	if (p_value == null) {
		this.gValue = null;
	} else {
		this.gValue = p_value;
	}

//	this.gBGColor = "white";
	this.gBGColor = "#ccccff";
	this.gFGColor = "black";
	this.gTextColor = "black";
	this.gHeaderColor = "black";
	this.gReturnItem = p_item;
}


// This is for compatibility with Navigator 3, we have to create and discard one object before the prototype object exists.
new Calc();

Calc.prototype.getCalcCode = function() {
	var vCode = "";
	var vHeader_Code = "";
	var vData_Code = "";
	
	// Begin Table Drawing code here..
	//vCode += ("<div align=center>
	vCode +=("<TABLE width=100% BORDER=0 BGCOLOR=\"" + this.gBGColor + "\" style='font-size:" + fontsize + "pt;'>");
	
	vHeader_Code = this.calc_header();
	vData_Code = this.calc_data();
	vCode += (vHeader_Code + vData_Code);
	
	//vCode += "</TABLE></div>";
	vCode += "</TABLE>";
	
	return vCode;
}

Calc.prototype.show = function() {
	var vCode = "";

	// build content into global var ggWinContent
	//ggWinContent += ("<FONT FACE='" + fontface + "' ><B>");
	//ggWinContent += (this.gMonthName + " " + this.gYear);
	//var s=this.gReturnItem;;
  	//s = s.replace(".","$");

	//var obj = eval("calcCaption$"+s);

	//header = obj;
	header = "Calculator";
	//ggWinContent += "</B><BR>";
	
	// Show navigation buttons
	// Get the complete calendar code for the month, and add it to the
	//	content var
	vCode = this.getCalcCode();
	//ggWinContent += vCode;
    ggWinContent = "<table width=100% cellpadding=0 cellspacing=0 bgcolor='"+this.gBGColor+"' ><tr><td>"+vCode+"</td></tr></table>";
}


Calc.prototype.calc_header = function() {
	var vCode = "";
	/*
	vCode = vCode + "<TR>";
	vCode = vCode + "<TD WIDTH='14%'><FONT FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Sun</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Mon</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Tue</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Wed</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Thu</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='14%'><FONT FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Fri</B></FONT></TD>";
	vCode = vCode + "<TD WIDTH='16%'><FONT FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Sat</B></FONT></TD>";
	vCode = vCode + "</TR>";
	*/
	return vCode;
}

Calc.prototype.calc_data = function() {

	var vCode = "";

vCode += '<FORM NAME="calc">';
//vCode += '<TABLE>';
vCode += '<TABLE CELLSPACING="2" CELLPADDING="5" BORDER="1">';
vCode += '<tr>';
vCode += '<td><INPUT TYPE="text" NAME="input" SIZE="16" MAXLENGTH="30" class="disp" value="'+p_value+'">';
vCode += '<td><INPUT TYPE="button"  VALUE="  ^  " onClick="power()" class="btswhite">';
vCode += '<td><INPUT TYPE="button"  VALUE="  C  " onClick="document.calc.input.value = \'\';" class="btsblue">';
vCode += '<td><INPUT TYPE="button"  VALUE="Cos" onClick="cos()" class="btsred">';
vCode += '</tr>';
vCode += '<tr>';
vCode += '<td nowrap><INPUT TYPE="button"  Value="  1  " class="btsblue" onClick="num(1)">  ';
vCode += '<INPUT TYPE="button"  VALUE="  2  " class="btsblue" onClick="num(2)">  ';
vCode += '<INPUT TYPE="button"  VALUE="  3  " class="btsblue" onClick="num(3)">  ';
vCode += '<INPUT TYPE="button"  VALUE="  (   " class="btswhite" onClick="openp()">';
vCode += '<td><INPUT TYPE="button"  VALUE="  +  " onClick="plus()" class="btswhite">';
vCode += '<td><INPUT TYPE="button"  VALUE="sqrt" onClick="sqrt()" class="btsred">';
vCode += '<td><INPUT TYPE="button"  VALUE="Sin " onClick="sin()" class="btsred">';
vCode += '</tr>';
vCode += '<tr>';
vCode += '<td nowrap><INPUT TYPE="button"  width="100%" Value="  4  " class="btsblue" onClick="num(4)">  ';
vCode += '<INPUT TYPE="button" Value="  5  " class="btsblue" onClick="num(5)">  ';
vCode += '<INPUT TYPE="button" Value="  6  " class="btsblue" onClick="num(6)">  ';
vCode += '<INPUT TYPE="button"  NAME="closeprth" Value="   )  " class="btswhite" onClick="closep()">';
vCode += '<td><INPUT TYPE="button"  VALUE="  -   " onClick="minus()" class="btswhite">';
vCode += '<td><INPUT TYPE="button"  Value=" 1/x" class="btsred"  onClick="recip()">';
vCode += '<td><INPUT TYPE="button"  VALUE="Tan" onClick="tan()" class="btsred">';
vCode += '</tr>';
vCode += '<tr>';
vCode += '<td nowrap><INPUT TYPE="button"  Value="  7  " class="btsblue" onClick="num(7)">  ';
vCode += '<INPUT TYPE="button"  Value="  8  " class="btsblue" onClick="num(8)">  ';
vCode += '<INPUT TYPE="button"  Value="  9  " class="btsblue" onClick="num(9)">  ';
vCode += '<INPUT TYPE="button"  VALUE="  % " onClick="percent()" class="btswhite">';
vCode += '<td><INPUT TYPE="button"  VALUE="  *   " onClick="mult()" class="btswhite">';
vCode += '<td><button class="btsred" onClick="square()">  x<sup>2</sup> </button>';
vCode += '<td><INPUT TYPE="button"  VALUE="Rnd" onClick="Round()" class="btsred">';
vCode += '</tr>';
vCode += '<tr>';
vCode += '<td><INPUT TYPE="button"  Value="  0  " class="btsblue" onClick="num(0)">  ';
vCode += '<INPUT TYPE="button"  Value="  .   " class="btsblue" onClick="decimal()">  ';
vCode += '<INPUT TYPE="button"  VALUE=" +/- " onClick="plus_or_minus()" class="btsblue">  ';
vCode += '<INPUT TYPE="button"  Value=" Pi " class="btsblue" onClick="pi()">';
vCode += '<td><INPUT TYPE="button"  VALUE="  /   " onClick="div()" class="btswhite">';
//vCode += '<td><button style="background: #999999; color: #FF0000; font-weight: bold" onClick="cube()">  x<sup>3</sup> </button>';
vCode += '<td><button class="btsred" onClick="cube()">  x<sup>3</sup> </button>';

vCode += '<td><INPUT TYPE="button"  VALUE="  =  " ';

vCode += 'onClick="DOit();document.' + this.gReturnItem + '.value=input.value;ggPosX=-1;ggPosY=-1;nd();nd();" ';

vCode += ' class="btseq">';

vCode += '</tr>';
//vCode += '</TABLE>';
vCode += '</TABLE>';
vCode += '</FORM>';

	return vCode;
}



function Build_calc(p_item, p_value) {
	gCalc = new Calc(p_item, p_value);

	// Customize your Calendar here..
//	gCalc.gBGColor="white";
//	gCalc.gLinkColor="black";
//	gCalc.gTextColor="black";
//	gCalc.gHeaderColor="darkgreen";

	// initialize the content string
	ggWinContent = "";

	// Choose appropriate show function
		gCalc.show();

	// if this is the first calendar popup, use autopositioning with an offset
	//if (ggPosX == -1 && ggPosY == -1) {
		overlib(ggWinContent, AUTOSTATUSCAP, STICKY, CLOSECLICK, CSSSTYLE,CLOSETEXT,"X",CLOSEWEIGHT, "bold",
			TEXTSIZEUNIT, "pt", TEXTSIZE, 8, CAPTIONSIZEUNIT, "pt", CAPTIONSIZE, 8, CLOSESIZEUNIT, "pt", CLOSESIZE, 8,
			CAPTION, header, OFFSETX, 0, OFFSETY, 0);
//			CAPTION, "Pick a date", OFFSETX, 20, OFFSETY, -20);
		// save where the 'over' div ended up; we want to stay in the same place if the user
		//	clicks on one of the year or month navigation links
		if ( (ns4) || (ie4) ) {
		        ggPosX = parseInt(over.left);
		        ggPosY = parseInt(over.top);
		} else if (ns6) {
				ggPosX = parseInt(over.style.left);
				ggPosY = parseInt(over.style.top);
		}
	/*
	}	else {
		// we have a saved X & Y position, so use those with the FIXX and FIXY options
		overlib(ggWinContent, AUTOSTATUSCAP, STICKY, CLOSECLICK, CSSSTYLE,CLOSETEXT,"X",CLOSEWEIGHT, "bold",
			TEXTSIZEUNIT, "pt", TEXTSIZE, 8, CAPTIONSIZEUNIT, "pt", CAPTIONSIZE, 8, CLOSESIZEUNIT, "pt", CLOSESIZE, 8,
			CAPTION, header, FIXX, ggPosX, FIXY, ggPosY);
//			CAPTION, "Pick a date", FIXX, ggPosX, FIXY, ggPosY);
	}
	*/
//	window.scroll(ggPosX, ggPosY);
}

function show_calc() {
	/* 
		p_month : 0-11 for Jan-Dec; 12 for All Months.
		p_year	: 4-digit year
		p_format: Date format (mm/dd/yyyy, dd/mm/yy, ...)
		p_item	: Return Item.
	*/
	p_item = arguments[0];
	if (arguments[1] == null)
		p_value = "SELECT-ONE";
	else
		p_value = arguments[1];
	Build_calc(p_item, p_value);
}


