/*h **********************************************************************
  procedure     : g-func.js
  description   : javascript funcion library
  author        : michael russell / Radar, Inc (Sep 2010)
  date written  : 09-28-10
  changes made  : 
********************************************************************** */

/* define global variables */

var PopWin = "";

/* variables used to determine screen size */
var wid;
var lpos;
var ht;
var tpos;
var myWidth = 0;
var myHeight = 0;

/* determines browser type and screen size so we can put 
   popups windows in the center of the screen              */

if ( typeof( window.innerWidth ) == "number" ) {
  //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
    } else if( document.documentElement && ( document.documentElement.clientWidth || 
                                             document.documentElement.clientHeight ) ) {
  //IE 6+ in "standards compliant mode"
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
    } else if( document.body && ( document.body.clientWidth || 
                                  document.body.clientHeight ) ) {
  //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
    }

lpos = myWidth / 2;
tpos = myHeight / 2;


/* -------------------------------------------------------------
   generic functions
   ---------------------------------------------------------- */
/* function to open a pop-up window to allow a user to request their 
   password via email - called from custlogin.p */
function funcSendPasswd() {
    winargs = "resizable=yes, scrollbars=yes, width=480, height=300, left=" + lpos + ", top=" + tpos;
    PopWin = window.open("mailpswd.p?pfEmailAddr="+
             document.formLogin.fiLogin.value+"&pfCono="+
             document.formLinkTo.hfCono.value,"pwin",winargs);
    PopWin.focus();
    }


/* function to open a pop-up window to allow a user to request their 
   password via email - called from checkcust.p */
function funcSendPasswd2() {
    winargs = "resizable=yes, scrollbars=yes, width=480, height=300, left=" + lpos + ", top=" + tpos;
    PopWin = window.open("mailpswd.p?pfEmailAddr="+
             document.formLogin.hfLogin.value+"&pfCono="+
             document.formLinkTo.hfCono.value,"pwin",winargs);
    PopWin.focus();
    }

function funcLargeImg(co,it) {
    winargs = "resizable=yes,scrollbars=yes,width=560,height=400,left=" + lpos + ",top=" + tpos;
    PopWin = window.open("displgimg.p?pfProd="+it.replace(/&/, "%26")+"&pfCono="+co,"pwin",winargs);
    PopWin.focus();
    }

/* function to open pop-up window and allow user to request lead time information for an item */
function funcRequestLT(co,it) {
    winargs = "resizable=yes,scrollbars=yes,width=560,height=500,left=" + lpos + ",top=" + tpos;
    PopWin = window.open("rqst_lead.p?hfProd="+it.replace(/&/, "%26")+"&hfCono="+co,"pwin",winargs);
    PopWin.focus();
    }

/* function to open pop-up window and display the standard price (in the cart price) for items 
   where the vendno demands that that we display list price (no discounts) */
function funcPriceInCart(it,co) {
    winargs = "resizable=yes,scrollbars=yes,width=450,height=350,left=" + lpos + ",top=" + tpos;
    PopWin = window.open("dispcartpr.p?hfProd="+it.replace(/&/, "%26")+"&hfCono="+co,"pwin",winargs);
    PopWin.focus();
    }

/* function to open pop-up window and display product quantity available, quantity on order 
   and display estimated lead time */
function funcDispAvail(co,it) {
    winargs = "resizable=yes,scrollbars=yes,width=560,height=400,left=" + lpos + ",top=" + tpos;
    PopWin = window.open("dispavail.p?hfProd="+it.replace(/&/, "%26")+"&hfCono="+co,"pwin",winargs);
    PopWin.focus();
    }

/*o ************************************************************
 allow user to log out - clears username, customer number, 
 password
***************************************************************/
function funcLogout() {
    document.formLinkTo.hfCustno.value = "";
    document.formLinkTo.hfLogin.value = "";
    document.formLinkTo.hfPasswd.value = "";
    document.formLinkTo.submit();
    return false;
    }

/* navigate to custreg.p so a new user can open an online account */
function funcSignup() {
    document.formLinkTo.hfProgname.value = "custreg.p";
    document.formLinkTo.hfCmd.value = "signup";
    document.formLinkTo.submit();
    return false;
    }

/* navigate to weblogin.p page so user can log into their account */
function funcSignon() {
    document.formLinkTo.hfProgname.value = "weblogin.p";
    document.formLinkTo.hfLogin.value = document.formLogin.fiLogin.value;
    document.formLinkTo.hfPasswd.value = document.formLogin.fiPasswd.value;
    document.formLinkTo.hfCmd.value = "login";
    document.formLinkTo.submit();
    return false;
    }

/* function to open pop-up window and display price schedule details 
    (quantity breaks) */
function funcDispPrice(sid,it,co) {
    winargs = "resizable=yes,scrollbars=yes,width=560,height=650,left=" + lpos + ",top=" + tpos;
    PopWin = window.open("dispprsch.p?schid="+sid+"&itemnum="+
             it.replace(/&/, "%26")+"&conum="+co,"pwin",winargs);
    PopWin.focus();
    }


/*o **********************************************************************
functions for addredit.p
*********************************************************************** */
/* ----------------------------------------------------------------------
   general functions
   ----------------------------------------------------------------------  */
function funcAddrEditGo() {
    document.formEditAddress.hfCmd.value = "submit";
    document.formEditAddress.submit();
    return false;
    }


/*o **********************************************************************
functions for banner.i
*********************************************************************** */
/* -------------------------------------------------------------
   form processing
   ---------------------------------------------------------- */
/* function to submit search form in banner */
function funcBanSrch() {
    document.formLinkTo.hfProgname.value = "prodsrch.p";
    document.formLinkTo.hfCmd.value = "new";
    document.formLinkTo.hfVendno.value = "";
    document.formLinkTo.hfMajor.value = "";
    document.formLinkTo.hfMinor.value = "";
    document.formLinkTo.hfSearchtype.value = "";
    document.formLinkTo.hfCrit1.value = document.formBanSrch.fiKeyword.value;

    if (document.formBanSrch.rsSrch[0].checked) {
        document.formLinkTo.hfCrit2.value = document.formBanSrch.rsSrch[0].value;
        }
    if (document.formBanSrch.rsSrch[1].checked) {
        document.formLinkTo.hfCrit2.value = document.formBanSrch.rsSrch[1].value;
        }
    if (document.formBanSrch.rsSrch.length == 3 && document.formBanSrch.rsSrch[2].checked) {
        document.formLinkTo.hfCrit2.value = document.formBanSrch.rsSrch[2].value;
        }
    document.formLinkTo.submit();
    return false;
    }

/* function to submit formLinkTo and run linked program */
function funcLinkto(p) {
  document.formLinkTo.hfProgname.value = p;
  document.formLinkTo.submit();
  return false;
  }

/* *********************************************************************** 
functions for bulkorder.p
*********************************************************************** */
/* --------------------------------------------------------------------
   form processing
   -------------------------------------------------------------------- */
/* submit buy form */
function funcBulkOrderBuy() {
    document.formBulkOrder.hfCmd.value = "buy";
    document.formBulkOrder.submit();
    return false;
    }

function funcBulkOrderAdd() {
    document.formBulkOrder.hfCmd.value = "addl";
    document.formBulkOrder.submit();
    return false;
    }

/* ***********************************************************************
functions for checkout.p and order.p and order.i
*********************************************************************** */
/* ----------------------------------------------------------------------
   form processing
----------------------------------------------------------------------  */
function funcChShipTo() {
    winargs = "resizable=yes,scrollbars=yes,width=300,height=480,left=" + lpos + ",top=" + tpos;
    PopWin = window.open("pickalts.p","pwin",winargs);
    PopWin.focus();
    }

function order_popfreight() {
    winargs = "resizable=yes,scrollbars=yes,width=600,height=480,left=" + lpos + ",top=" + tpos;
    PopWin = window.open("popfreight.p","pwin",winargs);
    PopWin.focus();
    }

function funcUpdateOrder() {
    document.formOrder.hfCmd.value = "update";
    document.formOrder.submit();
    }


/* ***********************************************************************
functions for custreg.p
*********************************************************************** */
/* ----------------------------------------------------------------------
   form processing
   ----------------------------------------------------------------------  */
/* submit registration form */
function funcFormRegSubmit() {
    document.formRegister.hfCmd.value = "submit";
    document.formRegister.hfLogin.value = document.formRegister.fiEmailAddr.value;
    document.formRegister.hfPasswd.value = document.formRegister.fiPasswd1.value;
    document.formRegister.submit();
    return false;
    }


/*o **********************************************************************
functions for leftpanel.i
*********************************************************************** */
/* ----------------------------------------------------------------------
   navigation
   ----------------------------------------------------------------------  */
function funcCatSrch(mjct) {
    document.formLinkTo.hfProgname.value = "prodsrch.p";
    document.formLinkTo.hfMajor.value = mjct;
    document.formLinkTo.hfMinor.value = "";
    document.formLinkTo.hfVendno.value = "";
    document.formLinkTo.hfCrit1.value = "";
    document.formLinkTo.submit();
    return false;
    }

/*o **********************************************************************
functions for myaddresses.p
*********************************************************************** */
/* ----------------------------------------------------------------------
   forms processing
   ----------------------------------------------------------------------  */
function funcEditAddr(sa) {
    if (sa != "") sa = "?sa=" + sa;
    PopWin = window.open("addredit.p"+sa,"pwin","resizable=yes,scrollbars=yes,width=480,height=500,left="+
                         lpos+",top="+tpos);
    PopWin.focus();
    }

function funcSetDefShip(sa) {
    document.formLinkTo.hfProgname.value = "myaddresses.p";
    document.formLinkTo.hfCmd.value = "defship";
    document.formLinkTo.hfArg.value = sa;
    document.formLinkTo.submit();
    return false;
    }

function funcDelShipTo(sa) {
    if (confirm("Are you sure you want to permanently delete this address?")) {
        document.formLinkTo.hfProgname.value = "myaddresses.p";
        document.formLinkTo.hfCmd.value = "delete";
        document.formLinkTo.hfArg.value = sa;
        document.formLinkTo.submit();
        return false;
        }
    }

/*o **********************************************************************
functions for myopeninvc.p
*********************************************************************** */
/* ----------------------------------------------------------------------
   forms processing
   -------------------------------------------------------------------  */
function funcMyOpenInvcNext() {
    document.formMyOpenInvc.hfProgname.value = "myopeninvc.p";
    document.formMyOpenInvc.hfCmd.value = "next";
    document.formMyOpenInvc.submit();
    return false;
    }

function funcMyOpenInvcPrev() {
    document.formMyOpenInvc.hfProgname.value = "myopeninvc.p";
    document.formMyOpenInvc.hfCmd.value = "prev";
    document.formMyOpenInvc.submit();
    return false;
    }
function funcMyOpenInvcSort(sm,so) {
    document.formMyOpenInvc.hfProgname.value = "myopeninvc.p";
    document.formMyOpenInvc.hfSortType.value = sm;
    document.formMyOpenInvc.hfSortDir.value = so;
    document.formMyOpenInvc.hfFirst.value = 1;
    document.formMyOpenInvc.submit();
    return false;
    }

function funcMyOpenInvcDet(invo,sfxo) {
    document.formMyOpenInvc.hfProgname.value = "myorderdet.p";
    document.formMyOpenInvc.hfInvno.value = invo;
    document.formMyOpenInvc.hfSufno.value = sfxo;
    document.formMyOpenInvc.submit();
    return false;
    }

function funcMyOpenInvcGo() {
    document.formLinkTo.hfProgname.value = "myopeninvc.p";
    document.formLinkTo.hfCmd.value = "search";
    document.formLinkTo.hfArg.value = document.formMyOpenInvc.fiKeyword.value;
    document.formMyOpenInvc.hfFirst.value = 1;
    document.formLinkTo.submit();
    return false;
    }

/*o **********************************************************************
functions for myorders.p
*********************************************************************** */
/* ----------------------------------------------------------------------
   forms processing
   -------------------------------------------------------------------  */
function funcMyOrdersNext() {
    document.formMyOrders.hfProgname.value = "myorders.p";
    document.formMyOrders.hfCmd.value = "next";
    document.formMyOrders.submit();
    return false;
    }

function funcMyOrdersPrev() {
    document.formMyOrders.hfProgname.value = "myorders.p";
    document.formMyOrders.hfCmd.value = "prev";
    document.formMyOrders.submit();
    return false;
    }
function funcMyOrdersSort(sm,so) {
    document.formMyOrders.hfProgname.value = "myorders.p";
    document.formMyOrders.hfSortType.value = sm;
    document.formMyOrders.hfSortDir.value = so;
    document.formMyOrders.hfFirst.value = 1;
    document.formMyOrders.submit();
    return false;
    }

function funcMyOrdersDet(invo,sfxo) {
    document.formMyOrders.hfProgname.value = "myorderdet.p";
    document.formMyOrders.hfInvno.value = invo;
    document.formMyOrders.hfSufno.value = sfxo;
    document.formMyOrders.submit();
    return false;
    }

function funcMyOrdersGo() {
    document.formMyOrders.hfProgname.value = "myorders.p";
    document.formMyOrders.hfFirst.value = 1;
    document.formMyOrders.submit();
    return false;
    }

function funcMyOrdersPast() {
    document.formLinkTo.hfProgname.value = "myorders.p";
    document.formLinkTo.hfCmd.value = "past";
    document.formLinkTo.hfArg.value = "4,5";
    document.formLinkTo.submit();
    return false;
    }

function funcMyOrdersOpen() {
    document.formLinkTo.hfProgname.value = "myorders.p";
    document.formLinkTo.hfCmd.value = "past";
    document.formLinkTo.hfArg.value = "1,2";
    document.formLinkTo.submit();
    return false;
    }

/* ***********************************************************************
functions for mypasswd.p
************************************************************************ */
/* ----------------------------------------------------------------------
   forms processing
   ----------------------------------------------------------------------  */
function funcMyPasswdGo() {
    document.formChangePasswd.hfCmd.value = "submit";
    document.formChangePasswd.hfProgname.value = "mypasswd.p";
    document.formChangePasswd.submit();
    return false;
    } 

/*o **********************************************************************
functions for myprofile.p
*********************************************************************** */
/* ----------------------------------------------------------------------
   forms processing
   ----------------------------------------------------------------------  */
function funcMyProfileGo() {
    document.formProfile.hfCmd.value = "submit";
    document.formProfile.hfProgname.value = "myprofile.p";    
    document.formProfile.submit();
    return false;
    }



/* ***********************************************************************
functions for prodinfo.p
*********************************************************************** */
/* ----------------------------------------------------------------------
   navigation
----------------------------------------------------------------------  */
/* nav from prodinfo to prodsrch with specific major/minor criteria */
function funcPinfoSpCat(maj,min) {
    document.formLinkTo.hfMajor.value = maj;
    document.formLinkTo.hfMinor.value = min;
    document.formLinkTo.hfProgname.value = "prodsrch.p";
    document.formLinkTo.submit();
    return false;
    }

/* nav from prodinfo to prodsrch with no major/minor criteria */
function funcPinfoAllCat() {
    document.formLinkTo.hfMajor.value = "";
    document.formLinkTo.hfMinor.value = "";
    document.formLinkTo.hfProgname.value = "prodsrch.p";
    document.formLinkTo.submit();
    return false;
    }

/* navigate to prodinfo page */
function funcPinfo(pn,cn) {
    document.formLinkTo.hfProgname.value = "prodinfo.p";
    document.formLinkTo.hfProd.value = pn;
    document.formLinkTo.hfCono.value = cn;
    document.formLinkTo.submit();
    return false;
    }

/* --------------------------------------------------------------------
   form processing
   -------------------------------------------------------------------- */
/* submit buy form */
function funcProdInfoBuy() {
    document.formBuyProdInfo.hfCmd.value = "buy";
    document.formBuyProdInfo.hfProgName = "prodinfo.p";
    document.formBuyProdInfo.submit();
    return false;
    }


/*o **********************************************************************
functions for prodsrch.p
*********************************************************************** */
/* ----------------------------------------------------------------------
   navigation
----------------------------------------------------------------------  */
/* next search page */
function funcNxtSrchPage() {
    document.formProdSrchBuy.hfProgname.value = "prodsrch.p";
    document.formProdSrchBuy.hfCmd.value = "next";
    document.formProdSrchBuy.submit();
    return false;
    }

/* previous search page */
function funcPrvSrchPage() {
    document.formProdSrchBuy.hfProgname.value = "prodsrch.p";
    document.formProdSrchBuy.hfCmd.value = "prev";
    document.formProdSrchBuy.submit();
    return false;
    }

/* --------------------------------------------------------------------
   form processing
-------------------------------------------------------------------- */
/* resubmit search page and clear any selected vendno filter criteria - 
   display all vendnos */
function funcAllVendors() {
    document.formLinkTo.hfProgname.value = "prodsrch.p";
    document.formLinkTo.hfCmd.value = "srch";
    document.formLinkTo.hfVendno.value = "";
    document.formLinkTo.hfMajor.value = document.formSearchParms.cbMajor.value;
    document.formLinkTo.hfMinor.value = document.formSearchParms.cbMinor.value;
    document.formLinkTo.hfCrit1.value = document.formSearchParms.fiKeyword.value;
    if (document.formSearchParms.rsSrch[0].checked) {
        document.formLinkTo.hfCrit2.value = document.formSearchParms.rsSrch[0].value;
        }
    if (document.formSearchParms.rsSrch[1].checked) {
        document.formLinkTo.hfCrit2.value = document.formSearchParms.rsSrch[1].value;
        }
    if (document.formSearchParms.rsSrch.length == 3 && document.formSearchParms.rsSrch[2].checked) {
        document.formLinkTo.hfCrit2.value = document.formSearchParms.rsSrch[2].value;
        }
    document.formLinkTo.submit();
    return false;
    }

/* resubmit search form and clear any selected major and minor category filter criteria */
function funcMajorCat(cat) {
    document.formLinkTo.hfProgname.value = "prodsrch.p";
    document.formLinkTo.hfCmd.value = "srch";
    document.formLinkTo.hfVendno.value = document.formSearchParms.cbVendno.value;
    document.formLinkTo.hfMajor.value = cat;
    document.formLinkTo.hfMinor.value = "";
    document.formLinkTo.hfCrit1.value = document.formSearchParms.fiKeyword.value;
    if (document.formSearchParms.rsSrch[0].checked) {
        document.formLinkTo.hfCrit2.value = document.formSearchParms.rsSrch[0].value;
        }
    if (document.formSearchParms.rsSrch[1].checked) {
        document.formLinkTo.hfCrit2.value = document.formSearchParms.rsSrch[1].value;
        }
    if (document.formSearchParms.rsSrch.length == 3 && document.formSearchParms.rsSrch[2].checked) {
        document.formLinkTo.hfCrit2.value = document.formSearchParms.rsSrch[2].value;
        }
    document.formLinkTo.submit();
    return false;
    }


/* submit search form with user filter criteria */
function prodsrch() {
    document.formLinkTo.hfProgname.value = "prodsrch.p";
    document.formLinkTo.hfCmd.value = "srch";
    document.formLinkTo.hfVendno.value = document.formSearchParms.cbVendno.value;
    document.formLinkTo.hfMajor.value = document.formSearchParms.cbMajor.value;
    document.formLinkTo.hfMinor.value = document.formSearchParms.cbMinor.value;
    document.formLinkTo.hfCrit1.value = document.formSearchParms.fiKeyword.value;
    if (document.formSearchParms.hfSearchtype.checked) {
        document.formLinkTo.hfSearchtype.value = "YES";
        } 
    if (!document.formSearchParms.hfSearchtype.checked) {
        document.formLinkTo.hfSearchtype.value = "NO";
        } 
    if (document.formSearchParms.rsSrch[0].checked) {
        document.formLinkTo.hfCrit2.value = document.formSearchParms.rsSrch[0].value;
        }
    if (document.formSearchParms.rsSrch[1].checked) {
        document.formLinkTo.hfCrit2.value = document.formSearchParms.rsSrch[1].value;
        }
    if (document.formSearchParms.rsSrch.length == 3 && document.formSearchParms.rsSrch[2].checked) {
        document.formLinkTo.hfCrit2.value = document.formSearchParms.rsSrch[2].value;
        }
    document.formLinkTo.submit();
    return false;
    }

/* process buyform to allow user to change sort criteria */
function prodsrchord(so) {
    document.formProdSrchBuy.hfProgname.value = "prodsrch.p";
    document.formProdSrchBuy.hfCmd.value = "srch";
    document.formProdSrchBuy.hfVendno.value = document.formSearchParms.cbVendno.value;
    document.formProdSrchBuy.hfMajor.value = document.formSearchParms.cbMajor.value;
    document.formProdSrchBuy.hfMinor.value = document.formSearchParms.cbMinor.value;
    document.formProdSrchBuy.hfSortorder.value = so;
    document.formProdSrchBuy.hfCrit1.value = document.formSearchParms.fiKeyword.value;

    if (document.formSearchParms.rsSrch[0].checked) {
        document.formProdSrchBuy.hfCrit2.value = document.formSearchParms.rsSrch[0].value;
        }
    if (document.formSearchParms.rsSrch[1].checked) {
        document.formProdSrchBuy.hfCrit2.value = document.formSearchParms.rsSrch[1].value;
        }
    if (document.formSearchParms.rsSrch.length == 3 && document.formSearchParms.rsSrch[2].checked) {
        document.formProdSrchBuy.hfCrit2.value = document.formSearchParms.rsSrch[2].value;
        }
    document.formProdSrchBuy.submit();
    return false;
    }

/* submit buy form */
function funcProdSrchBuy() {
    document.formProdSrchBuy.hfCmd.value = "buy";
    document.formProdSrchBuy.hfProgName = "prodsrch.p";
    document.formProdSrchBuy.submit();
    return false;
    }


/* *********************************************************************** 
functions for scratchpad.p
*********************************************************************** */
/* --------------------------------------------------------------------
   form processing
   -------------------------------------------------------------------- */
/* submit buy form */
function funcScratchPadBuy() {
    document.formScratchPad.hfCmd.value = "buy";
    document.formScratchPad.submit();
    return false;
    }


/* *********************************************************************** 
functions for shopping.p - shopping cart
*********************************************************************** */
/* ----------------------------------------------------------------------
   forms processing
----------------------------------------------------------------------  */
function funcShoppingChkOut() {
    document.formLinkTo.hfCmd.value = "";
    document.formLinkTo.hfProgname.value = "checkout.p";
    document.formLinkTo.submit();
    return false;
    }

function funcShoppingClear() {
    if (confirm("Are you sure you want to completely empty your shopping cart?")) {
        document.formShopping.hfCmd.value = "clear";
        document.formShopping.submit();
        }
    return false;
    }

function funcShoppingUpdate() {
    document.formShopping.hfCmd.value = "update";
    document.formShopping.submit();
    return false;
    }


/*o **********************************************************************
functions for supplier.p and suppliercat.p
*********************************************************************** */
/* ----------------------------------------------------------------------
   navigation
   ----------------------------------------------------------------------  */
function funcSupplierRptBad(vndr) {
    document.formLinkTo.hfProgname.value = "supplier.p";
    document.formLinkTo.hfCmd.value = "report";
    document.formLinkTo.hfArg.value = vndr;
    document.formLinkTo.submit()
    return false;
    }

function funcSupplierBadLink() {
    document.formLinkTo.hfProgname.value = "supplier.p";
    document.formLinkTo.hfCmd.value = "badlink";
    document.formLinkTo.submit()
    return false;
    }

function funcSupplierCatRptBad(vndr) {
    document.formLinkTo.hfProgname.value = "suppliercat.p";
    document.formLinkTo.hfCmd.value = "report";
    document.formLinkTo.hfArg.value = vndr;
    document.formLinkTo.submit()
    return false;
    }

function funcSupplierCatBadLink() {
    document.formLinkTo.hfProgname.value = "suppliercat.p";
    document.formLinkTo.hfCmd.value = "badlink";
    document.formLinkTo.submit()
    return false;
    }


/*o *********************************************************************
functions for thanks.p
********************************************************************** */
/* ----------------------------------------------------------------------
   general functions
---------------------------------------------------------------------  */
function funcOrderPrt(conum,docnum) {
    winargs = "resizable=yes,scrollbars=yes,menubar=yes,width=600,height=480,left=" + lpos + ",top=" + tpos;
    PopWin = window.open("orderprt.p?hfCono="+conum+"&hfOrder="+docnum,"pwin",winargs);
    PopWin.focus();
    }



/*o **********************************************************************
  end of g-func.js
*********************************************************************** */

