var r = -1;
var d = new ActiveXObject("Scripting.Dictionary");
var d2 = new ActiveXObject("Scripting.Dictionary"); 
var mx = 499; // maximum

function getNum()
{
  var a, b;
  try {
    a = (mx * Math.random()) + 1;
    b = Math.floor(a);
  }
  catch(exception) {
    alert(exception.description + "\n" + b.toString());
  }
  return(b);
}

function AddNumsToDict()
{
   var h, i, j;
   j = -1;

   while (d2.Count < mx) 
   {
     var n = getNum();
     if (d2.Exists("x" + n.toString()))
     {   
       h++;
     }
     else
     {
       j++;
       d.Add("x" + j.toString(), n.toString());
       d2.Add("x" + n.toString(), n.toString());
     }

   } 
  
}


function AssignPadding(mystr)
{
  var v,wdth,fac,re;
  if (screen.width == 800)
  {
     wdth = 8.0;
     fac = 6;
  }
  else
  {
     wdth = 8.0;
     fac = 6;
     
  }
  if (mystr.indexOf("&nbsp;") != -1)
  {
	re = /&nbsp;*/gm;
	mystr = mystr.replace(re,"Z");
	//alert(mystr);
  }
  if (mystr.indexOf("<u>") != -1)
  {
   	re = /<u>*/gm;
        mystr = mystr.replace(re, "");
        re = /<\/u>*/gm;
	mystr = mystr.replace(re, "");
  }

  if (mystr.indexOf("<br>") != -1)
  {
    var ss, t;
    var lngest, pad;
    ss = mystr.split("<br>");
    lngest = ss[0].length;
    for (t=0; t < ss.length; t++)
    {
      if (ss[t].length > lngest)
      {
        lngest = ss[t].length;
      }
    }
    
    pad = ( wdth - ((lngest * fac)/72) ) / 2;
    //alert(lngest);
    v = pad;
  }
  else
  {
    lngest = mystr.length;
    pad = ( wdth - ((lngest * fac)/72) ) / 2;

    v = pad;
  }

  return(v)
}

function HideInstruct()
{
    instruct1.style.visibility = 'hidden';
}

function startup()
{
  var s;
  if (screen.width == 800)
  {
     table1.style.fontSize ='8pt';
     //table1.style.width = '8.0in'; 
     //table1.style.height = '5.0in'; 
  }
  else
  {
     table1.style.fontSize = '10pt';
     //table1.style.width = '8.0in';
     //table1.style.height = '5.0in';
  }

  s = "SENTENCES<br><br><br>Robert Grenier";
  mytd.style.paddingLeft = AssignPadding(s) + 'in';
  s = s.replace("<br><br><br>","\n\n\n");
  SetCookie("pg", -1);
  mytd.innerText= s;
  prev.disabled=true;
  AddNumsToDict();
}

function SetCookie(sName, sValue)
{
  document.cookie = sName + "=" + escape(sValue) + ";"
  
}

function GetCookie(sName)
{
  // cookies are separated by semicolons
  var aCookie = document.cookie.split("; ");
  for (var i=0; i < aCookie.length; i++)
  {
    // a name/value pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0]) 
      return unescape(aCrumb[1]);
  }

  // a cookie with the requested name does not exist
  return null;
}

function previous(){
  var num = GetCookie("pg");
  if (num == mx){ //maximum
    SetCookie("pg",parseInt(num) - 1);
    num = GetCookie("pg");
  }
  nxt.disabled = false;
  
  if (num <= 1){
    prev.disabled = true;
  }
  readText(num, "prev");
  SetCookie("pg",parseInt(num) - 1);

}

function next(){
  
  var num = GetCookie("pg");
  if (num > -1){
    prev.disabled = false;
  }
  else{
    prev.disabled = true;
  }
  if (num >= parseInt(mx)-1){  //maximum - 1
    nxt.disabled = true;
  }
  else {
    nxt.disabled = false;
  }
  readText(num,"next");
  SetCookie("pg",parseInt(num)+1);
}

function readText(r, direction)
{

	var k;
	try{
	if (r < mx)  //maximum 
	{
		if (direction == "next") {
		  r++;
		}
		else {
		  r--;
		}
		
		k = AssignPadding(Caption[d.item("x" + r.toString())])
		mytd.style.paddingLeft = k + 'in'		
		if (direction == "next") {
		  table1.filters[0].apply();
		}
		else {
		  table1.filters[1].apply();
		}
		img1.src ="w.gif";
		mytd.innerHTML = Caption[d.item("x" + r.toString())]
		if (direction == "next") {
		  table1.filters[0].play();
		}
		else {
		  table1.filters[1].play();
		}

	}
	}
	catch(e){
	}



}

function checkKey(){
if (window.event.ctrlKey)
 {
   prev.value = GetCookie("pg");
   nxt.value= mx - GetCookie("pg");
 }
}
function resetButton(){
  nxt.value="Next";
  prev.value="Back";
}

function window.onbeforeprint(){
  var ih = Caption[d.item("x" + GetCookie("pg"))];
  var pad = parseInt(AssignPadding(ih));
  table1.style.display = "none";
  nxt.style.visibility = "hidden";
  prev.style.visibility = "hidden";
  table2.style.display = "block";
  mytd2.style.visibility = "visible";
  mytd2.style.paddingLeft = pad + 'in';
  mytd2.innerHTML = ih;
}

function window.onafterprint(){
  nxt.style.visibility = "visible";
  prev.style.visibility = "visible";
  table2.style.display = "none";
  table1.style.display = "block";
}
