var printHiddenFieldsById = new Array('footwrapper', 'headstripewrapper', 'header', 'searchbox', 'navcolumn');
var printRemoveWidths = new Array('wholewrapper', 'whole');
var printChangeObjs = null;
var printViewEnabled = false;
var printMsgBox = new generalMessageBox(0, "printEmptyMessageBox", "printEmptyMessageBoxBackground");

var printMouseFollower = null;
var printOldDocumentMouseMove = null;

printMsgBox.setForceView();


function enablePrintView()
  {
//Make the mouse follower thingy

  printMoveFollower = document.createElement('div');
  printMoveFollower.className = "mouseInfoPrintView";
  printMoveFollower.style['position'] = "absolute";
  printMoveFollower.appendChild(document.createTextNode('Click to return to normal view.'));
  document.body.appendChild(printMoveFollower);

  printOldDocumentMouseMove = document.body.onmousemove;

  document.body.onmousemove = function (evnt)
    {
    if (evnt == null)
      {
      evnt = event;
      }
    var topDiff = document.body.scrollTop;

    if (topDiff == 0 && document.documentElement.scrollTop != null)
      {
      topDiff = document.documentElement.scrollTop;
      }

    printMoveFollower.style['top'] = (evnt['clientY']+topDiff) + 'px';
    printMoveFollower.style['left'] = (evnt['clientX']+10) + 'px';
    }

//Fix Objects for print view
  printChangeObjs = new Array();

  printMsgBox.set(document.createElement('div'));


  for(var i = 0; i < printHiddenFieldsById.length; i++)
    {
    var obj = document.getElementById(printHiddenFieldsById[i]);
    if (obj != null)
      {
      printChangeObjs[printChangeObjs.length] = obj;
      obj.printOrigClassName = obj.className;
      obj.className = "hideFromPrintView";
      }
    }

  var elements = document.getElementsByClassName('printHidden');
  for(var i = 0; i < elements.length; i++)
    {
    var obj = elements[i];
    if (obj != null)
      {
      printChangeObjs[printChangeObjs.length] = obj;
      obj.printOrigClassName = obj.className;
      obj.className = obj.className + " hideFromPrintView";
      }
    }



  for(var i = 0; i < printRemoveWidths.length; i++)
    {
    var obj = document.getElementById(printRemoveWidths[i]);
    if (obj != null)
      {
      printChangeObjs[printChangeObjs.length] = obj;
      obj.printOrigClassName = obj.className;
      obj.className = obj.className + " setBodyPrintView";
      }
    }

  var elements = document.getElementsByClassName('printNoWidth');
  for(var i = 0; i < elements.length; i++)
    {
    var obj = elements[i];
    if (obj != null)
      {
      printChangeObjs[printChangeObjs.length] = obj;
      obj.printOrigClassName = obj.className;
      obj.className = obj.className + " setBodyPrintView";
      }
    }


  document.body.printOrigClassName = document.body.className;
  document.body.className = "setBodyHandStuff"
  document.body.oldonclick = document.body.onclick;
  document.body.onclick = disablePrintView;

  printMsgBox.forceViewNode.onclick = disablePrintView;


  printViewEnabled = true;
  }


function disablePrintView()
  {

  document.body.onmousemove = printOldDocumentMouseMove;
  printMoveFollower.parentNode.removeChild(printMoveFollower);

  printMsgBox.clear();
/*  if (!confirm('Revert back to original view?'))
    {
    return false;
    }*/
  document.body.className = document.body.printOrigClassName;
  for(var i = 0; i < printChangeObjs.length; i++)
    {
    printChangeObjs[i].className = printChangeObjs[i].printOrigClassName;
    }
  document.body.onclick = document.body.oldonclick;
  printViewEnabled = false;
  return false;
  }

