function v_swapImgRestore() { //v3.0
var i,x,a=document.v_sr;

  for(i=0; a && i< a.length && (x=a[i]) && x.oSrc; i++)
     x.src=x.oSrc;
}
var d = document;
if (d.images){ 
   if (!d.v_p)
      d.v_p = [];
   if (!img_arr) {
      img_arr = [];
   }
   var i,j=d.v_p.length;
   for(i=0; i<img_arr.length; i++)
      if (img_arr[i].indexOf("#")!=0){
         d.v_p[j]=new Image;
         d.v_p[j++].src=img_arr[i];
      }
}

function v_findObj(n, d) { //v3.0
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 = v_findObj(n, d.layers[i].document);
  return x;
}

function v_swapImage() { //v3.0
var i, j=0, x, a = v_swapImage.arguments;

   document.v_sr = new Array;
   for(i=0;i<(a.length-2);i+=3)
      if ((x = v_findObj(a[i])) != null){
         document.v_sr[j++]=x;
      if(!x.oSrc)
         x.oSrc=x.src;
      x.src=a[i+2];
   }
}

function v_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

// ---------------------------------------------------------
// These are ProBanker-specific functions:

var pb_manual;

function pb_launchManualWindow() {
    if (!top.pb_manual || top.pb_manual.closed) {
        top.pb_manual = window.open('../man/help.jsp', 'pb_manual_target', 'toolbar=yes,directories=no,location=no,status=no,scrollbars=yes,menubar=no,resizable=yes');
    } else {
        top.pb_manual.focus();
    }
}

function pb_closeManualWindow() {
    if (top.pb_manual && !top.pb_manual.closed) {
        top.pb_manual.close();
    }
}

// ---------------------------------------------------------

var pb_bookshop;

function pb_launchBookshopWindow(indexURL) {
    if (!top.pb_bookshop || top.pb_bookshop.closed) {
        if (indexURL) {
            top.pb_bookshop = window.open(indexURL, 'pb_bookshop_target', 'toolbar=yes,directories=no,location=yes,status=yes,scrollbars=yes,menubar=yes,resizable=yes');
        } else {
            top.pb_bookshop = window.open('bookshop/index.htm', 'pb_bookshop_target', 'toolbar=yes,directories=no,location=yes,status=yes,scrollbars=yes,menubar=yes,resizable=yes');
        }
    } else {
        top.pb_bookshop.focus();
    }
}

function pb_closeBookshopWindow() {
    if (top.pb_bookshop && !top.pb_bookshop.closed) {
        top.pb_bookshop.close();
    }
}

// ---------------------------------------------------------

var pb_careers;

function pb_launchCareersWindow() {
    if (!top.pb_careers || top.pb_careers.closed) {
        top.pb_careers = window.open('http://www.careers-in-finance.com', 'pb_careers_target');
    } else {
        top.pb_careers.focus();
    }
}

function pb_closeCareersWindow() {
    if (top.pb_careers && !top.pb_careers.closed) {
        top.pb_careers.close();
    }
}

// ---------------------------------------------------------

var pb_finance;

function pb_launchFinanceWindow() {
    if (!top.pb_finance || top.pb_finance.closed) {
        top.pb_finance = window.open('http://finance.yahoo.com', 'pb_finance_target');
    } else {
        top.pb_finance.focus();
    }
}

function pb_closeFinanceWindow() {
    if (top.pb_finance && !top.pb_finance.closed) {
        top.pb_finance.close();
    }
}

// ---------------------------------------------------------

var pb_report;

function pb_launchReportWindow() {
    if (!top.pb_report || top.pb_report.closed) {
        top.pb_report = window.open('', 'pb_report_target', 'toolbar=yes,directories=no,location=no,status=no,scrollbars=yes,menubar=no,resizable=yes');
    } else {
        top.pb_report.focus();
    }
}

function pb_closeReportWindow() {
    if (top.pb_report && !top.pb_report.closed) {
        top.pb_report.close();
    }
}

// ---------------------------------------------------------

function pb_closeSubWindows() {
    pb_closeManualWindow();
    pb_closeReportWindow();
}

// ---------------------------------------------------------

// Based on JavaScript and DHTML Cookbook #9.4
function blockContextMenu(evt) {
    top.focus();
    evt = (evt) ? evt : event;
    var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
    if (elem) {
        return false;
    }
}
document.oncontextmenu=blockContextMenu;
