function getDocWidth()
{
 return document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth;
}
function getDocHeight()
{
 return document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) {
   x=d.getElementById(n);
   if( !x ) x=parent.document.getElementById(n);
  }
  return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function ComboBoxes(vis)
{
  var allEls=document.getElementsByName("quantity");
  var l=allEls.length,i;
  var s = 'none';
  if( vis )
   s = '';

  for(i=0;i<l;i++)
   allEls[i].style.display=s;
}

function grayOut(vis) {
  var p1 = MM_findObj('modalpane');
  var p2 = MM_findObj('modalpane2');
  if (vis) {
    ComboBoxes(false);
    p1.style.display='';
    p2.style.display='';
  } else {
    ComboBoxes(true);
    p1.style.display='none';
    p2.style.display='none';
  }
}


function ImagePreloader(images, call_back)
{
   // store the call-back
   this.call_back = call_back;

   // initialize internal state.
   this.nLoaded = 0;
   this.nProcessed = 0;
   this.aImages = new Array;

   // record the number of images.
   this.nImages = images.length;

   // for each image, call preload()
   for ( var i = 0; i < images.length; i++ )
      this.preload(images[i]);
}

ImagePreloader.prototype.preload = function(image)
{
   // create new Image object and add to array
   var oImage = new Image;
   this.aImages.push(oImage);

   // set up event handlers for the Image object
   oImage.onload = ImagePreloader.prototype.onload;
   oImage.onerror = ImagePreloader.prototype.onerror;
   oImage.onabort = ImagePreloader.prototype.onabort;

   // assign pointer back to this.
   oImage.oImagePreloader = this;
   oImage.bLoaded = false;

   // assign the .src property of the Image object
   oImage.src = image;
}

ImagePreloader.prototype.onComplete = function()
{
   this.nProcessed++;
   if ( this.nProcessed == this.nImages )
   {
      this.call_back(this.aImages, this.nLoaded);
   }
}

ImagePreloader.prototype.onload = function()
{
   this.bLoaded = true;
   this.oImagePreloader.nLoaded++;
   this.oImagePreloader.onComplete();
}

ImagePreloader.prototype.onerror = function()
{
   this.bError = true;
   this.oImagePreloader.onComplete();
}

ImagePreloader.prototype.onabort = function()
{
   this.bAbort = true;
   this.oImagePreloader.onComplete();
}

function finishPreviewPane(aImages, nImages)
{
  var p3 = MM_findObj( 'previewimg' );
  var p4 = MM_findObj( 'previewimg_td' );
  var p5 = MM_findObj( 'preview_loading_td' );

  p3.src = '';
  p5.style.display='none';
  p4.style.display='';
  p3.src = aImages[0].src;
}

function previewPane(vis, img_md, img_lg )
{
  var p1 = MM_findObj('modalpane');
  var p2 = MM_findObj('previewpane');

  var p4 = MM_findObj( 'previewimg_td' );
  if( p4 ) p4.style.display='none';

  var p5 = MM_findObj( 'preview_loading_td' );
  if( p5 ) p5.style.display='';

  var h = window.innerHeight;
  if( !h ) h = getDocHeight();
  if( h < 700 )
   h = img_md;
  else
   h = img_lg;

  var aImg = [ h ];

  if (vis)
  {
    ComboBoxes(false);
    p1.style.display='';
    p2.style.display='';
  } else
  {
    ComboBoxes(true);
    p1.style.display='none';
    p2.style.display='none';
  }

  var p3 = MM_findObj( 'previewimg' );
  if( vis && p3 && p4 && p5 )
   new ImagePreloader(aImg, finishPreviewPane );
}

function setApproval(jobid)
{
// alert( 'setapproval' );
 var el = MM_findObj('frame_n');
 var str = 'about:blank';
 if( jobid >=0 )
  str = 'setapproval.php?jobid=' + jobid;
 el.src = str;                  // for firefox
 el.location.replace( str );    // for IE6
}

function formChange()
{
// alert( 'formchange' );
 var el = MM_findObj('frame_n');
 str = 'formchange.php';
 el.src = str;                  // for firefox
 el.location.replace( str );    // for IE6
}

