<!--

function calcPivot(f){
	/*
		
	*/
	
		o = parseFloat(f.prev_open.value);	//parseFloat converts data to floating decimal numeric
		h = parseFloat(f.prev_high.value);
		l = parseFloat(f.prev_low.value);
		c = parseFloat(f.prev_close.value);		
		
		if (isNaN(o) == true ||  isNaN(h) == true || isNaN(l) == true || isNaN(c) == true) {
			alert("One or more of the OHLC entries is empty or invalid"); }
			else if(h < o || h < l || h < c) {
				alert("The high entry is not the highest value"); }
				else if(l > o || l > h || l > c) {
					alert("The low entry is not the lowest value"); }
					else {
		
		var vpl = Math.round((h + l + c) / 3);		
		var vr1 = Math.round((2 * vpl) - l);
		var vr2 = Math.round(vpl + h - l);
		var vr3 = Math.round(vr1 + h - l);
		var vs1 = Math.round((2 * vpl) - h);
		var vs2 = Math.round(vpl - h + l);
		var vs3 = Math.round(vs1 - h + l);
		var vgapr3 = vr3 -vr2;
		var vgapr2 = vr2 -vr1;
		var vgapr1 = vr1 -vpl;
		var vgaps1 = vpl -vs1;
		var vgaps2 = vs1 -vs2;
		var vgaps3 = vs2 -vs3;
		var vdr = h - l;
		var vcb = c - o;
		
/*
	
*/
		
		document.getElementById('pl').innerHTML = vpl;	//parseInt converts data to integer
		document.getElementById('r1').innerHTML = vr1;	
		document.getElementById('r2').innerHTML = vr2;
		document.getElementById('r3').innerHTML = vr3;
		document.getElementById('s1').innerHTML = vs1;
		document.getElementById('s2').innerHTML = vs2;
		document.getElementById('s3').innerHTML = vs3;
		document.getElementById('gapr3').innerHTML = vgapr3;
		document.getElementById('gapr2').innerHTML = vgapr2;
		document.getElementById('gapr1').innerHTML = vgapr1;
		document.getElementById('gaps1').innerHTML = vgaps1;
		document.getElementById('gaps2').innerHTML = vgaps2;
		document.getElementById('gaps3').innerHTML = vgaps3;
		document.getElementById('dr').innerHTML = vdr;
		document.getElementById('cb').innerHTML = vcb;

/*
	
*/
	}
	}


function calcPivotc(f){
	/*
		
	*/
	
		
		oc = parseFloat(f.prev_openc.value);	//parseFloat converts data to floating decimal numeric
		hc = parseFloat(f.prev_highc.value);   
		lc = parseFloat(f.prev_lowc.value);
		cc = parseFloat(f.prev_closec.value);	
		
		if (isNaN(oc) == true ||  isNaN(hc) == true || isNaN(lc) == true || isNaN(cc) == true) {
			alert("One or more of the OHLC entries is empty or invalid"); }
			else if(hc < oc || hc < lc || hc < cc) {
				alert("The high entry is not the highest value"); }
				else if(lc > oc || lc > hc || lc > cc) {
					alert("The low entry is not the lowest value"); }
					else {
												// calculate all possible pivot levels
		var vplc = Math.round((hc + lc + cc) / 3);
		var vr1c = Math.round((2 * vplc) - lc);
		var vr2c = Math.round(vplc + hc - lc);
		var vr3c = Math.round(vr1c + hc - lc);
		var vs1c = Math.round((2 * vplc) - hc);
		var vs2c = Math.round(vplc - hc + lc);
		var vs3c = Math.round(vs1c - hc + lc);
		
		var vr3halfc = Math.round((vr3c + vr2c)/2);
		var vr2halfc = Math.round((vr2c + vr1c)/2);
		var vr1halfc = Math.round((vr1c + vplc)/2);
		var vs1halfc = Math.round((vplc + vs1c)/2);
		var vs2halfc = Math.round((vs1c + vs2c)/2);
		var vs3halfc = Math.round((vs2c + vs3c)/2);
		
		var vr3quc = Math.round((vr3c + vr3halfc)/2);
		var vr3qlc = Math.round((vr3halfc + vr2c)/2);
		var vr2quc = Math.round((vr2c + vr2halfc)/2);
		var vr2qlc = Math.round((vr2halfc + vr1c)/2);
		var vr1quc = Math.round((vr1c + vr1halfc)/2);
		var vr1qlc = Math.round((vr1halfc + vplc)/2);
		var vs1quc = Math.round((vplc + vs1halfc)/2);
		var vs1qlc = Math.round((vs1halfc + vs1c)/2);
		var vs2quc = Math.round((vs1c + vs2halfc)/2);
		var vs2qlc = Math.round((vs2halfc + vs2c)/2);
		var vs3quc = Math.round((vs2c + vs3halfc)/2);
		var vs3qlc = Math.round((vs3halfc + vs3c)/2);
		
		document.getElementById('r3c').innerHTML = vr3c;	//post main levels
		document.getElementById('r2c').innerHTML = vr2c;
		document.getElementById('r1c').innerHTML = vr1c;
		document.getElementById('plc').innerHTML = vplc;
		document.getElementById('s1c').innerHTML = vs1c;
		document.getElementById('s2c').innerHTML = vs2c;
		document.getElementById('s3c').innerHTML = vs3c;
		
		document.getElementById('r3halfc').innerHTML = "";	//clear all half levels
		document.getElementById('r2halfc').innerHTML = "";
		document.getElementById('r1halfc').innerHTML = "";
		document.getElementById('s1halfc').innerHTML = "";
		document.getElementById('s2halfc').innerHTML = "";
		document.getElementById('s3halfc').innerHTML = "";
		
		document.getElementById('gapr3halfc').innerHTML = "";	//clear all half  gaps
		document.getElementById('gapr2halfc').innerHTML = "";
		document.getElementById('gapr1halfc').innerHTML = "";
		document.getElementById('gaps1halfc').innerHTML = "";
		document.getElementById('gaps2halfc').innerHTML = "";
		document.getElementById('gaps3halfc').innerHTML = "";
		
		document.getElementById('r3quc').innerHTML = "";	//clear all quarter levels
		document.getElementById('r3qlc').innerHTML = "";
		document.getElementById('r2quc').innerHTML = "";
		document.getElementById('r2qlc').innerHTML = "";
		document.getElementById('r1quc').innerHTML = "";
		document.getElementById('r1qlc').innerHTML = "";
		document.getElementById('s1quc').innerHTML = "";	
		document.getElementById('s1qlc').innerHTML = "";
		document.getElementById('s2quc').innerHTML = "";
		document.getElementById('s2qlc').innerHTML = "";
		document.getElementById('s3quc').innerHTML = "";
		document.getElementById('s3qlc').innerHTML = "";
		
		document.getElementById('gapr3qlc').innerHTML = "";	//clear all quarter gaps
		document.getElementById('gapr3quc').innerHTML = "";
		document.getElementById('gapr2qlc').innerHTML = "";
		document.getElementById('gapr2quc').innerHTML = "";
		document.getElementById('gapr1qlc').innerHTML = "";
		document.getElementById('gapr1quc').innerHTML = "";
		document.getElementById('gaps1quc').innerHTML = "";	
		document.getElementById('gaps1qlc').innerHTML = "";
		document.getElementById('gaps2quc').innerHTML = "";
		document.getElementById('gaps2qlc').innerHTML = "";
		document.getElementById('gaps3quc').innerHTML = "";
		document.getElementById('gaps3qlc').innerHTML = "";
		
												// calculate and post needed sublevels and gaps between r1 & pl
		if((vr1c - vplc) <34) { // check if r1 gap is < 34 (r1 - pl)
			var vgapr1c = (vr1c - vplc); // if r1 gap < 34 then no sub levels are needed & r1 gap is from r1 to pl
			document.getElementById('gapr1c').innerHTML = vgapr1c; // r1 is already posted, so just post the r1 gap
			}
			else if((vr1c - vr1halfc) <34) { // if prev. r1 gap is >= 34 then at least half levels are needed - check if half-gap < 34
				document.getElementById('r1halfc').innerHTML = vr1halfc; // if so then only the half is needed - post r1-half level
				var vgapr1halfc = (vr1halfc - vplc); // calculate r1half gap (r1-half - pl)
				document.getElementById('gapr1halfc').innerHTML = vgapr1halfc; // post r1-half gap
				var vgapr1c = (vr1c - vr1halfc); // calculate r1 gap (upper r1 - r1-half)
				document.getElementById('gapr1c').innerHTML = vgapr1c; // post r1 gap
				} 
					else {  // else quarter levels are needed
						document.getElementById('r1quc').innerHTML = vr1quc; // post r1qu
						document.getElementById('r1qlc').innerHTML = vr1qlc; // post r1ql
						var vgapr1qlc = (vr1qlc - vplc); // calculate r1ql gap (r1-quarter-lower - pl)
						document.getElementById('gapr1qlc').innerHTML = vgapr1qlc; // post r1q1 gap
						var vgapr1halfc = (vr1halfc - vr1qlc); // calculate r1half gap (r1-half - r1-quarter-lower)
						document.getElementById('gapr1halfc').innerHTML = vgapr1halfc; // post r1half gap
						var vgapr1quc = (vr1quc - vr1halfc); // calculate r1qu gap (r1-quarter-upper - r1-half)
						document.getElementById('gapr1quc').innerHTML = vgapr1quc; // post r1qu gap
						var vgapr1c = (vr1c - vr1quc); // calculate r1 gap (r1 - r1-quarter-upper)
						document.getElementById('gapr1c').innerHTML = vgapr1c; // post r1 gap
						document.getElementById('r1halfc').innerHTML = vr1halfc; // post r1half     /*   */
					}
		
												// calculate and post needed sublevels and gaps between r2 & r1
		if((vr2c - vr1c) <34) { // check if r2 gap is <= 34 (r2 - r1)
			var vgapr2c = (vr2c - vr1c); // if r2 gap <= 34 then no sub levels are needed & r2 gap is from r2 to r1
			document.getElementById('gapr2c').innerHTML = vgapr2c; // r2 is already posted, so just post the r2 gap
			}
			else if((vr2c - vr2halfc) <34) { // if prev. r2 gap is > 34 then at least half levels are needed - check if half-gap <= 34
				document.getElementById('r2halfc').innerHTML = vr2halfc; // if so then only the half is needed - post r2-half level
				var vgapr2halfc = (vr2halfc - vr1c); // calculate r2half gap (r2-half - r1)
				document.getElementById('gapr2halfc').innerHTML = vgapr2halfc; // post r2-half gap
				var vgapr2c = (vr2c - vr2halfc); // calculate r2 gap (upper r2 - r2-half)
				document.getElementById('gapr2c').innerHTML = vgapr2c; // post r2 gap
				document.getElementById('r2halfc').innerHTML = vr2halfc;} // post r2half
				
					else {  // else quarter levels are needed
						document.getElementById('r2quc').innerHTML = vr2quc; // post r2qu
						document.getElementById('r2qlc').innerHTML = vr2qlc; // post r2ql
						var vgapr2qlc = (vr2qlc - vr1c); // calculate r2ql gap (r2-quarter-lower - r1)
						document.getElementById('gapr2qlc').innerHTML = vgapr2qlc; // post r2q1 gap
						var vgapr2halfc = (vr2halfc - vr2qlc); // calculate r2half gap (r2-half - r2-quarter-lower)
						document.getElementById('gapr2halfc').innerHTML = vgapr2halfc; // post r2half gap
						var vgapr2quc = (vr2quc - vr2halfc); // calculate r2qu gap (r2-quarter-upper - r2-half)
						document.getElementById('gapr2quc').innerHTML = vgapr2quc; // post r2qu gap
						var vgapr2c = (vr2c - vr2quc); // calculate r2 gap (r2 - r2-quarter-upper)
						document.getElementById('gapr2c').innerHTML = vgapr2c; // post r2 gap
						document.getElementById('r2halfc').innerHTML = vr2halfc; // post r2half
					}
		
		if((vr3c - vr2c) <34) { // check if r3 gap is <= 34 (r3 - r2)
			var vgapr3c = (vr3c - vr2c); // if r3 gap <= 34 then no sub levels are needed & r3 gap is from r3 to r2
			document.getElementById('gapr3c').innerHTML = vgapr3c; // r3 is already posted, so just post the r3 gap
			}
			else if((vr3c - vr3halfc) <34) { // if prev. r3 gap is > 34 then at least half levels are needed - check if half-gap <= 34
				document.getElementById('r3halfc').innerHTML = vr3halfc; // if so then only the half is needed - post r3-half level
				var vgapr3halfc = (vr3halfc - vr2c); // calculate r3half gap (r3-half - r2)
				document.getElementById('gapr3halfc').innerHTML = vgapr3halfc; // post r3-half gap
				var vgapr3c = (vr3c - vr3halfc); // calculate r3 gap (upper r3 - r3-half)
				document.getElementById('gapr3c').innerHTML = vgapr3c; // post r3 gap
				document.getElementById('r3halfc').innerHTML = vr3halfc;} // post r3half
					else {  // else quarter levels are needed
						document.getElementById('r3quc').innerHTML = vr3quc; // post r3qu
						document.getElementById('r3qlc').innerHTML = vr3qlc; // post r3ql
						var vgapr3qlc = (vr3qlc - vr2c); // calculate r3ql gap (r3-quarter-lower - r2)
						document.getElementById('gapr3qlc').innerHTML = vgapr3qlc; // post r3q1 gap
						var vgapr3halfc = (vr3halfc - vr3qlc); // calculate r3half gap (r3-half - r3-quarter-lower)
						document.getElementById('gapr3halfc').innerHTML = vgapr3halfc; // post r3half gap
						var vgapr3quc = (vr3quc - vr3halfc); // calculate r3qu gap (r3-quarter-upper - r3-half)
						document.getElementById('gapr3quc').innerHTML = vgapr3quc; // post r3qu gap
						var vgapr3c = (vr3c - vr3quc); // calculate r3 gap (r3 - r3-quarter-upper)
						document.getElementById('gapr3c').innerHTML = vgapr3c; // post r3 gap
						document.getElementById('r3halfc').innerHTML = vr3halfc; // post r3half
					}
		
				
		var vdrc = hc - lc;
		document.getElementById('drc').innerHTML = vdrc;
		var vcbc = cc - oc;
		document.getElementById('cbc').innerHTML = vcbc;
		
		if((vplc - vs1c) <34) { // check if s1 gap is <= 34 (pl - s1)
			var vgaps1c = (vplc - vs1c); // if s1 gap <= 34 then no sub levels are needed & s1 gap is from pl to s1
			document.getElementById('gaps1c').innerHTML = vgaps1c; // s1 is already posted, so just post the s1 gap
			}
			else if((vplc - vs1halfc) <34) { // if prev. s1 gap is > 34 then at least half levels are needed - check if half-gap <= 34
				document.getElementById('s1halfc').innerHTML = vs1halfc; // if so then only the half is needed - post s1-half level
				var vgaps1halfc = (vplc - vs1halfc); // calculate s1half gap (pl - s1-half)
				document.getElementById('gaps1halfc').innerHTML = vgaps1halfc; // post s1-half gap
				var vgaps1c = (vs1halfc - vs1c); // calculate s1 gap (s1-half - s1)
				document.getElementById('gaps1c').innerHTML = vgaps1c; // post s1 gap
				document.getElementById('s1halfc').innerHTML = vs1halfc;} // post s1half
					else {  // else quarter levels are needed
						document.getElementById('s1quc').innerHTML = vs1quc; // post s1qu
						document.getElementById('s1qlc').innerHTML = vs1qlc; // post s1ql
						var vgaps1quc = (vplc - vs1quc); // calculate s1qu gap (pl - s1-quarter-upper)
						document.getElementById('gaps1quc').innerHTML = vgaps1quc; // post s1qu gap
						var vgaps1halfc = (vs1quc - vs1halfc); // calculate s1half gap (s1-quarter-upper - s1-half)
						document.getElementById('gaps1halfc').innerHTML = vgaps1halfc; // post s1half gap
						var vgaps1qlc = (vs1halfc - vs1qlc); // calculate s1ql gap (s1-half - s1-quarter-lower)
						document.getElementById('gaps1qlc').innerHTML = vgaps1qlc; // post s1ql gap
						var vgaps1c = (vs1qlc - vs1c); // calculate s1 gap (s1-quarter-lower - s1)
						document.getElementById('gaps1c').innerHTML = vgaps1c; // post s1 gap
						document.getElementById('s1halfc').innerHTML = vs1halfc; // post s1half
					}
		
		if((vs1c - vs2c) <34) { // check if s2 gap is <= 34 (s1 - s2)
			var vgaps2c = (vs1c - vs2c); // if s2 gap <= 34 then no sub levels are needed & s2 gap is from s1 to s2
			document.getElementById('gaps2c').innerHTML = vgaps2c; // s2 is already posted, so just post the s2 gap
			}
			else if((vs1c - vs2halfc) <34) { // if prev. s2 gap is > 34 then at least half levels are needed - check if half-gap <= 34
				document.getElementById('s2halfc').innerHTML = vs2halfc; // if so then only the half is needed - post s2-half level
				var vgaps2halfc = (vs1c - vs2halfc); // calculate s2half gap (s1 - s2-half)
				document.getElementById('gaps2halfc').innerHTML = vgaps2halfc; // post s2-half gap
				var vgaps2c = (vs2halfc - vs2c); // calculate s2 gap (s2-half - s2)
				document.getElementById('gaps2c').innerHTML = vgaps2c; // post s2 gap
				document.getElementById('s2halfc').innerHTML = vs2halfc;} // post s2half
					else {  // else quarter levels are needed
						document.getElementById('s2quc').innerHTML = vs2quc; // post s2qu
						document.getElementById('s2qlc').innerHTML = vs2qlc; // post s2ql
						var vgaps2quc = (vs1c - vs2quc); // calculate s2qu gap (s1 - s2-quarter-upper)
						document.getElementById('gaps2quc').innerHTML = vgaps2quc; // post s2qu gap
						var vgaps2halfc = (vs2quc - vs2halfc); // calculate s2half gap (s2-quarter-upper - s2-half)
						document.getElementById('gaps2halfc').innerHTML = vgaps2halfc; // post s2half gap
						var vgaps2qlc = (vs2halfc - vs2qlc); // calculate s2ql gap (s2-half - s2-quarter-lower)
						document.getElementById('gaps2qlc').innerHTML = vgaps2qlc; // post s2ql gap
						var vgaps2c = (vs2qlc - vs2c); // calculate s2 gap (s2-quarter-lower - s2)
						document.getElementById('gaps2c').innerHTML = vgaps2c; // post s2 gap
						document.getElementById('s2halfc').innerHTML = vs2halfc; // post s2half
					}
					
		if((vs2c - vs3c) <34) { // check if s3 gap is <= 34 (s2 - s3)
			var vgaps3c = (vs2c - vs3c); // if s3 gap <= 34 then no sub levels are needed & s3 gap is from s2 to s3
			document.getElementById('gaps3c').innerHTML = vgaps3c; // s3 is already posted, so just post the s3 gap
			}
			else if((vs2c - vs3halfc) <34) { // if prev. s3 gap is > 34 then at least half levels are needed - check if half-gap <= 34
				document.getElementById('s3halfc').innerHTML = vs2halfc; // if so then only the half is needed - post s3-half level
				var vgaps3halfc = (vs2c - vs3halfc); // calculate s3half gap (s2 - s3-half)
				document.getElementById('gaps3halfc').innerHTML = vgaps3halfc; // post s3-half gap
				var vgaps3c = (vs3halfc - vs3c); // calculate s3 gap (s3-half - s3)
				document.getElementById('gaps3c').innerHTML = vgaps3c; // post s3 gap
				document.getElementById('s3halfc').innerHTML = vs3halfc;} // post s3half
					else {  // else quarter levels are needed
						document.getElementById('s3quc').innerHTML = vs3quc; // post s3qu
						document.getElementById('s3qlc').innerHTML = vs3qlc; // post s3ql
						var vgaps3quc = (vs2c - vs3quc); // calculate s3qu gap (s2 - s3-quarter-upper)
						document.getElementById('gaps3quc').innerHTML = vgaps3quc; // post s3qu gap
						var vgaps3halfc = (vs3quc - vs3halfc); // calculate s3half gap (s3-quarter-upper - s3-half)
						document.getElementById('gaps3halfc').innerHTML = vgaps3halfc; // post s3half gap
						var vgaps3qlc = (vs3halfc - vs3qlc); // calculate s3ql gap (s3-half - s3-quarter-lower)
						document.getElementById('gaps3qlc').innerHTML = vgaps3qlc; // post s3ql gap
						var vgaps3c = (vs3qlc - vs3c); // calculate s3 gap (s3-quarter-lower - s3)
						document.getElementById('gaps3c').innerHTML = vgaps3c; // post s3 gap
						document.getElementById('s3halfc').innerHTML = vs3halfc; // post s3half
					}
					}
					
/*
	
*/
	
		
	}
	
var newwin1 = '';
var newwin2 = '';

function open1() {
if (!newwin1.closed && newwin1.location) {
		newwin1.focus();
		newwin1.reload(true);
	}
	else {
		newwin1=window.open('pivot-calc.html',"","resizable=1, scrollbars=1, width=417px,height=435px,left=45,top=160px");
		newwin1.reload(true);
	}
}

function open2() {
if (!newwin2.closed && newwin2.location) {
		newwin2.focus();
		newwin2.reload(true);
	}
	else {
		newwin2=window.open('cmpa-calc.html',"","resizable=1, scrollbars=1, width=417px,height=925px,left=0px,top=0px");
		newwin2.reload(true);
	}
}

function entsub(myform1) {
  if (window.event && window.event.keyCode == 13)
    calcPivot(myform1);
  else
    return true;}
	
function entsubc(myform2) {
  if (window.event && window.event.keyCode == 13)
    calcPivotc(myform2);
  else
    return true;}
