
<!--begin f. zipx-->
function zipx()
{
for (var i=0; i<kj; i++)<!--begin zipxloop1-->
{
if(document.y.elements[i].value !="") <!--begin if1-->
{
if(1*document.y.elements[i].value <= 1*min) <!--begin if2-->
{
min = 1*document.y.elements[i].value;
}<!--end if2-->
}<!--end if1-->
}<!--end zipxloop1-->
}<!--end f. zipx-->

<!--begin f. sort-->
function sort()
{
min =1*min;
<!--begin sortloop_1-->
for (var p=0; p<kj; p++)
{
	if(document.y.elements[p].value==min)<!--begin sortif1-->
	{
	document.z.elements[a].value = document.y.elements[p].value;
	document.y.elements[p].value = "";
	a = 1*a+1;
	}<!--end sortif1-->
} <!--end sortloop_1-->
min = 1*10000;
}<!--end f. sort-->


<!--begin f. spin-->
function spin()
{
a = 1*0;
lz = 1*0;
min = 1*10000;
b = 1*0;
var xxx = 1*0;

for (var q=0; q<kj; q++)<!--begin spinloop_datatest-->
{
if(document.x.elements[q].value=="")
{
xxx = 1*1;
}
}<!--end spinloop_datatest-->
if(1*xxx>0)
{
alert("Data error.  Please check your data entries.");
}

for (var q=0; q<kj; q++)<!--begin spinloop1-->
{
if(1*xxx>0) {break};
document.y.elements[q].value = document.x.elements[q].value;
}<!--end spinloop1-->

for (var j=0; j<kj; j++)<!--begin spinloop2-->
{
if(1*xxx>0) {break};
zipx();
sort();
} <!--end spinloop2-->

document.y.elements[0].value = 1;

for (var q=1; q<kj; q++)<!--begin spinloop3-->
{
if(1*xxx>0) {break};
	if(1*document.z.elements[q].value > 1*document.z.elements[q-1].value)
	{
	document.y.elements[q].value = 1*document.y.elements[q-1].value+1;
	} else {
	document.y.elements[q].value = document.y.elements[q-1].value;
	}<!--end ifelse-->
}<!--end spinloop3-->

for (var q=0; q<kj; q++)<!--begin spinloop3a-->
{
document.rank.elements[q].value = document.y.elements[q].value;
}<!--end spinloop3a-->


for (var jj=0; jj<kj; jj++)<!--begin spinloopjj-->
{
if(1*xxx>0) {break};

a = 1*0;
b = 1*0;
lz = 1*0;
	for (var q=0; q<kj; q++)<!--begin spinloopjj1-->
	{
		if((1*document.y.elements[q].value)==(1*jj+1))
		{
		a = 1*a+1;
		b = (1*b)+(1*document.count.elements[q].value);		
		}
	}<!--end spinloopjj1-->
		if(a>0)
		{
		lz = b/a;
		}
	for (var s=0; s<kj; s++)<!--begin spinloopjj2-->
	{
		if((1*document.y.elements[s].value)==(1*jj+1))
		{
		document.y.elements[s].value = lz;
		}<!--end if-->
	}<!--end spinloopjj2-->
}<!--end spinloopjj-->

if((1*document.z.elements[0].value)<(1*document.z.elements[1].value))
{
document.y.elements[0].value = document.count.elements[0].value;
}<!--end if-->

if((1*document.z.elements[kj-1].value)>(1*document.z.elements[kj-2].value))
{
document.y.elements[kj-1].value =document.count.elements[kj-1].value;
}<!--end if-->

for (var j=1; j<(kj-1); j++)<!--begin spinloop_rectify-->
{
if(1*xxx>0) {break};

if(((1*document.z.elements[j].value)<(1*document.z.elements[1*j+1].value))&&((1*document.z.elements[j].value)>(1*document.z.elements[1*j-1].value)))
{
document.y.elements[j].value = document.count.elements[j].value;
}<!--end if-->
} <!--endspinloop_ rectify-->

for (var jj=0; jj<kj; jj++)<!--begin spinloopjjx-->
{
if(1*xxx>0) {break};

a = 1*0;
b = 1*0;
lz = 1*0;
	for (var q=0; q<kj; q++)<!--begin spinloopjj1-->
	{
		if((1*document.rank.elements[q].value)==(1*jj+1))
		{
		a = 1*a+1;
		b = (1*b)+(1*document.count.elements[q].value);		
		}
	}<!--end spinloopjj1-->
		if(a>0)
		{
		lz = b/a;
		}
	for (var s=0; s<kj; s++)<!--begin spinloopjj2-->
	{
		if((1*document.rank.elements[s].value)==(1*jj+1))
		{
		document.y.elements[s].value = lz;
		}<!--end if-->
	}<!--end spinloopjj2-->
}<!--end spinloopjjx-->

for (var jj=0; jj<kj; jj++)<!--begin final spinloop-->
{
if(1*xxx>0) {break};
for (var i=0; i<kj; i++)<!--begin final subloop-->
{
if(document.x.elements[i].value==document.z.elements[jj].value)
{
document.rank.elements[i].value = document.y.elements[jj].value;
}<!--end if-->
}<!--end final subloop-->
}<!--end final spinloop-->
}<!--end f. spin-->

<!--begin f.calc2-->
function calc2()
{
for (var i=0; i<kk; i++) {
if(document.rawx.elements[i].value==0*1){document.rawx.elements[i].value=.0000001*1};
if(document.rawy.elements[i].value==0*1){document.rawy.elements[i].value=.0000001*1};
}<!--end.for-->


for (var i=0; i<kk; i++) {
document.x.elements[i].value = 1*document.rawx.elements[i].value;
}<!--end.for-->
spin();
for (var i=0; i<kk; i++) {
document.x_vals.elements[i].value = 1*document.rank.elements[i].value;
}<!--end.for-->


for (var i=0; i<kk; i++) {
document.x.elements[i].value = 1*document.rawy.elements[i].value;
}<!--end.for-->
spin();
for (var i=0; i<kk; i++) {
document.y_vals.elements[i].value = 1*document.rank.elements[i].value;
}<!--end.for-->
calc();

for (var i=0; i<kk; i++) {
if(document.rawx.elements[i].value==.0000001*1){document.rawx.elements[i].value=0*1};
if(document.rawy.elements[i].value==.0000001*1){document.rawy.elements[i].value=0*1};
}<!--end.for-->
}<!--end f.calc2-->


function calc() {
var sumx = 1*0;
var sumy = 1*0;
var sumsqx = 1*0;
var sumsqy = 1*0;
var ssx = 1*0;
var ssy = 1*0;
var ssxy = 1*0;
var jjzz = 1*0;
var sumxy = 1*0;

n = 1*0;
for (var i=0; i<kj; i++) {
	if (document.x_vals.elements[i].value.length > 0) {n+=1}
	}
document.nx.elements[0].value = n;

for (var i=0; i<n; i++) {
sumx = sumx + (document.x_vals.elements[i].value*1);
sumsqx = sumsqx + (document.x_vals.elements[i].value*document.x_vals.elements[i].value);
sumy = sumy + (document.y_vals.elements[i].value*1);
sumsqy = sumsqy + (document.y_vals.elements[i].value*document.y_vals.elements[i].value);
}

ssx = sumsqx-((sumx*sumx)/n);
ssy = sumsqy-((sumy*sumy)/n);

if(ssx==0||ssy==0) {jjzz=1*1}

var jsumx = Math.round(sumx);
var jnx = (n*(n+1))/2;
var jsumy = Math.round(sumy);
var jny = (n*(n+1))/2;

if(jsumx!=jnx)
{
alert("Your X rankings do not add up to [n(n+1)]/2. Please check your X entries.")
}

if(jsumy!=jny)
{
alert("Your Y rankings do not add up to [n(n+1)]/2. Please check your Y entries.")
}


for (var i=0; i<n; i++) {
	document.xy_vals.elements[i].value = (document.x_vals.elements[i].value*document.y_vals.elements[i].value);}

for (var i=0; i<n; i++) {
	sumxy = sumxy + (document.xy_vals.elements[i].value*1)}

ssxy = sumxy-((sumx*sumy)/n);

var r = ssxy/Math.sqrt(ssx*ssy);

if (r==1&&jjzz==0) {alert("With r=+1.0, the value of t cannot be calculated.  If n>4, you may assume that your calculated value of r is significant beyond the .05 level for a two-tailed test.")}
if (r==-1&&jjzz==0) {alert("With r=-1.0, the value of t cannot be calculated.  If n>4, you may assume that your calculated value of r is significant beyond the .05 level for a two-tailed test.")}

t_denom = Math.sqrt(1-(r*r));
t = (r*Math.sqrt(n-2))/t_denom;
t = Math.round(t*100)/100;
document.r.elements[0].value = Math.round(r*10000)/10000;

df = n-2;

if(n>9)
{
document.t.elements[0].value = t;
document.df.elements[0].value =df;
var pa = Tcall(buzz(eval(t),eval(df)));
var pb = pa/2;
pa = Math.round(pa*1000000)/1000000;
if(pa==1*0||pa>1*1){pa="<.000001"}
pb = Math.round(pb*1000000)/1000000;
if(pb==1*0||pb>1*1){pb="<.000001"}
document.pa.elements[0].value = pa;
document.pb.elements[0].value = pb;
}else{
document.t.elements[0].value = "---";
document.df.elements[0].value = "---";
document.pa.elements[0].value = "---";
document.pb.elements[0].value = "---";
}<!--end.if/else-->

if(n<2){document.df.elements[0].value =""}


if(jjzz>0)
{
alert("One of your variables includes zero variability.");
document.t.elements[0].value = 1*0;
document.r.elements[0].value = 1*0;
}<!--end.if-->
}<!--end.f.calc-->

function wipe() {
var zd = 1*nn;
for (var i=0; i<zd; i++) {
	document.x_vals.elements[i].value = ""
	document.y_vals.elements[i].value = ""
	document.xy_vals.elements[i].value = "-----"
	document.rawx.elements[i].value = "";
	document.rawy.elements[i].value = "";
	}
document.nx.elements[0].value = "";
document.r.elements[0].value = "";
document.df.elements[0].value = "";
document.t.elements[0].value = "";
document.pa.elements[0].value = "";
document.pb.elements[0].value = "";
}
