/* Copyright 2002, Prelude Systems, Inc. All Rights Reserved. www.prelude.com Duplication,
Retransmission or Reproduction in part or whole is forbidden without Written Consent of Prelude Systems Inc. */
var changeflag = false;
// tool tip variables
var tooltip;
var indx = 0;
var off_x = 1; var off_y = 1; // offset values for tooltip
var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Netscape")>-1) &&dom)? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;
// avoid error of passing event object in older browsers
if (nodyn)
{
event = "nope"
}
// tooltip content variable
// menu variables
var LowBgColor='000AC8'; // Background color when mouse is not over
var LowSubBgColor='000AC8'; // Background color when mouse is not over on subs
var HighBgColor='WHITE'; // Background color when mouse is over
var HighSubBgColor='WHITE'; // Background color when mouse is over on subs
var FontLowColor='WHITE'; // Font color when mouse is not over
var FontSubLowColor='WHITE'; // Font color subs when mouse is not over
var FontHighColor='000AC8'; // Font color when mouse is over
var FontSubHighColor='000AC8'; // Font color subs when mouse is over
var BorderColor='WHITE'; // Border color
var BorderSubColor='WHITE'; // Border color for subs
var BorderWidth=3; // Border width
var BorderBtwnElmnts=1; // Border between elements 1 or 0
var FontFamily='arial,comic sans ms,technical' // Font family menu items
var FontSize=9; // Font size menu items
var FontBold=1; // Bold menu items 1 or 0
var FontItalic=0; // Italic menu items 1 or 0
var MenuTextCentered='center'; // Item text position 'left', 'center' or 'right'
var MenuCentered='left'; // Menu horizontal position 'left', 'center' or 'right'
var MenuVerticalCentered='top'; // Menu vertical position 'top', 'middle' or 'bottom'
var ChildOverlap=.1; // horizontal overlap child/ parent
var ChildVerticalOverlap=.9; // vertical overlap child/ parent
var StartTop=0; // Menu offset x coordinate
var StartLeft=1; // Menu offset y coordinate
var VerCorrect=0; // Multiple frames y correction
var HorCorrect=0; // Multiple frames x correction
var LeftPaddng=3; // Left padding
var TopPaddng=2; // Top padding
var FirstLineHorizontal=0; // First level items layout horizontal 1 or 0
var MenuFramesVertical=1; // Frames in cols or rows 1 or 0
var DissapearDelay=1000; // delay before menu folds in
var TakeOverBgColor=0; // Menu frame takes over background color subitem frame
var FirstLineFrame='navig'; // Frame where first level appears
var SecLineFrame='space'; // Frame where sub levels appear
var DocTargetFrame='space'; // Frame where target documents appear
var TargetLoc=''; // DIV id for relative positioning (refer to config.htm for info)
var HideTop=0; // Hide first level when loading new document 1 or 0
var MenuWrap=1; // enables/ disables menu wrap 1 or 0
var RightToLeft=0; // enables/ disables right to left unfold 1 or 0
var UnfoldsOnClick=1; // Level 1 unfolds onclick/ onmouseover
var WebMasterCheck=0; // menu tree checking on or off 1 or 0
var AgntUsr=navigator.userAgent.toLowerCase();
var DomYes=(document.getElementById)?1:0;
var NavYes=(AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1)?1:0;
var ExpYes=(AgntUsr.indexOf('msie')!=-1)?1:0;
var Opr5=(AgntUsr.indexOf('opera 5')!=-1||AgntUsr.indexOf('opera/5')!=-1)?1:0;
var DomNav=(DomYes&&NavYes)?1:0;
var DomExp=(DomYes&&ExpYes)?1:0;
var Nav4=(NavYes&&!DomYes&&document.layers)?1:0;
var Exp4=(ExpYes&&!DomYes&&document.all)?1:0;
var PosStrt=((NavYes||ExpYes)&&!Opr5)?1:0;
var FrstLoc,ScLoc,DcLoc;
var ScWinWdth,ScWinHght,FrstWinWdth,FrstWinHght;
var ScLdAgainWin;
var FirstColPos,SecColPos,DocColPos;
var RcrsLvl=0;
var FrstCreat=1,Loadd=0,Creatd=0,IniFlg,AcrssFrms=1;
var FrstCntnr=null,CurrntOvr=null,CloseTmr=null;
var CntrTxt,TxtClose,ImgStr;
var Ztop=100;
var ShwFlg=0;
var M_StrtTp=StartTop,M_StrtLft=StartLeft;
var LftXtra=(DomNav)?LeftPaddng:0;
var TpXtra=(DomNav)?TopPaddng:0;
var M_Hide=(Nav4)?'hide':'hidden';
var M_Show=(Nav4)?'show':'visible';
var Par=(parent.frames[0]&&FirstLineFrame!=SecLineFrame)?parent:window;
var Doc=Par.document;
var Bod=Doc.body;
var Trigger=(NavYes)?Par:Bod;
function CursorDefault()
{
this.window.status="";
if (navigator.appName == "Microsoft Internet Explorer")
{
if (top.SPEEDFRAME.document.body != null)
{
top.SPEEDFRAME.document.body.style.cursor="default";
}
document.body.style.cursor="default";
}
}
function CursorWait()
{
this.window.status="Retrieving Data Please Wait";
if (navigator.appName == "Microsoft Internet Explorer")
{
document.body.style.cursor="wait";
}
}
function change() {
changeflag = "true";
}
function checkChange() {
if (changeflag == null) {
changeflag = false;
}
if (changeflag == "true") {
if (confirm("Data On This Page Was Changed. Would You Like to Save Those Changes?")) {
document.forms[0].submit();
}
}
}
function convertText(qtyFieldName)
{
var pattern = /\s+/ig;
var formName=document.forms[0].name;
var txtFld=eval("document."+formName+"."+qtyFieldName);
var newVal=txtFld.value.replace(pattern,"^");
txtFld.value=newVal;
}
function replaceSpaces(conversionString)
{
var pattern = /\s+/ig;
conversionString = conversionString.replace(pattern,"^")
return conversionString;
}
function postIt()
{
changeflag="false";
CursorWait();
document.forms[0].submit();
}
function postIt2()
{
changeflag="false";
displayBlock("UpdateDiv10");
displayBlock("UpdateDiv11");
// displayBlock("UpdateDiv20");
// displayBlock("UpdateDiv21");
CursorWait();
document.forms[0].submit();
}
function postItnClose()
{
CursorWait();
document.forms[0].submit();
parent.close();
}
function go(tarurl,loc,waitFlag)
{
if (waitFlag==1)
{
CursorWait();
}
window.open(tarurl,loc);
}
/**
Opens up a new browser window with the contents and options specified.
@param tarurl A string specifying the URL to open in the new window
@param waitFlag Yes/No flag specifying if you want the cursor to change to wait status, i.e an hourglass
@param title The name of the new window that is to be opened
@param width Width of the new window you want to open. Can be expressed in pixels or a percentage.
The percentage will be based on the screen size or the current browser window size depending
on how the option screenOption is set
@param height Height of the new window you want to open. Can be expressed in pixels or a percentage.
The percentage will be based on the screen size or the current browser window size depending
on how the option screenOption is set.
@param resizableFlag Whether or not we want to user to be able to resize the window
@param scrollBarFlag If you want the new window to have scrollbars
@param toolBarFlag If you want the new window to have the standard toolbar across the top
@param locationFlag If yes, creates a location entry field
@param directoriesFlag If yes, creates the standard browser directory buttons, such as What's New
and What's Cool.
@param statusFlag Creates the status bar on the bottom of the browser window
@param menuBarFlag Creates the menu on top of the browser window
@param copyHistoryFlag Not sure what the heck this flag does
@param screenOption If this is set to 1, then the size of the window will be based on the screen
resolution size. If screenOption is 0 then size is based on current size of browser window
*/
function goWindow(tarurl,waitFlag,title,width,height,resizableFlag,scrollBarFlag,toolBarFlag,locationFlag,directoriesFlag,statusFlag,menuBarFlag,copyHistoryFlag,screenOption)
{
if (waitFlag==1)
{
CursorWait();
}
var optionString="";
var percentLoc = width.indexOf("%");
if (percentLoc > -1)
{
var widthPercent = (width.substring(0,percentLoc) / 100);
var newWidth = 800;
var left=0;
var topPos=0;
if (screenOption==1)
{
newWidth = screen.width*widthPercent;
left = (screen.width) ? (screen.width-newWidth)/2 : 0;
} else
{
if (document.layers)
{
newWidth=window.innerWidth*widthPercent;
left=(window.innerWidth) ? ((window.innerWidth-newWidth)/2)+window.screenX : 0;
} else if (document.all)
{
newWidth = document.body.clientWidth*widthPercent;
left=(document.body.clientWidth) ? (document.body.clientWidth-newWidth)/2 : 0;
}
}
optionString="width="+Math.round(newWidth)+",left="+Math.round(left);
} else
{
if (width>0)
{
optionString="width="+width;
} else
{
optionString="width=800";
}
}
var percentLoc = height.indexOf("%");
if (percentLoc > -1)
{
var heightPercent = (height.substring(0,percentLoc) / 100);
var newHeight = 400;
var topPos=0;
if (screenOption==1)
{
newHeight = screen.height*heightPercent;
topPos = (screen.height) ? (screen.height-newHeight)/2 : 0;
} else
{
if (document.layers)
{
newHeight=window.outerHeight*heightPercent;
topPos = (window.outerHeight) ? ((window.outerHeight-newHeight)/2)+window.screenY : 0;
} else if (document.all)
{
newHeight = (document.body.clientHeight*1.25)*heightPercent;
topPos = (document.body.clientHeight) ? ((document.body.clientHeight*1.25)-newHeight)/2 : 0;
}
}
optionString=optionString+",height="+Math.round(newHeight)+",top="+Math.round(topPos);
} else
{
if (height>0)
{
optionString=optionString+",height="+height;
} else
{
optionString=optionString+",height=400";
}
}
if (resizableFlag==1)
{
optionString=optionString+",resizable=yes";
} else
{
optionString=optionString+",resizable=no";
}
if (scrollBarFlag==1)
{
optionString=optionString+",scrollbars=yes";
} else
{
optionString=optionString+",scrollbars=no";
}
if (toolBarFlag==1)
{
optionString=optionString+",toolbar=yes";
} else
{
optionString=optionString+",toolbar=no";
}
if (locationFlag==1)
{
optionString=optionString+",location=yes";
} else
{
optionString=optionString+",location=no";
}
if (directoriesFlag==1)
{
optionString=optionString+",directories=yes";
} else
{
optionString=optionString+",directories=no";
}
if (statusFlag==1)
{
optionString=optionString+",status=yes";
} else
{
optionString=optionString+",status=no";
}
if (menuBarFlag==1)
{
optionString=optionString+",menubar=yes";
} else
{
optionString=optionString+",menubar=no";
}
if (copyHistoryFlag==1)
{
optionString=optionString+",copyhistory=yes";
} else
{
optionString=optionString+",copyhistory=no";
}
window.open(tarurl,title,optionString)
}
function doTip(evt,txt)
{
if (showToolTip && txt != "")
{
var tip;
if (ns4)
{
tip = '
';
tooltip = document.getElementById('tipDiv');
tooltip.innerHTML = tip;
if ((evt.pageX + off_x + tooltip.offsetWidth) > (window.innerWidth + window.pageXOffset))
{
tooltip.style.left = evt.pageX - tooltip.offsetWidth;
} else
{
tooltip.style.left = evt.pageX + off_x;
}
if ((evt.pageY + off_y + tooltip.offsetHeight) > (window.innerHeight + window.pageYOffset))
{
tooltip.style.top = evt.pageY - tooltip.offsetHeight;
} else
{
tooltip.style.top = evt.pageY + off_y;
}
tooltip.style.visibility = "visible";
}
}
}
function hideTip()
{
if (showToolTip)
{
if (ns4)
{
if (typeof tooltip != "undefined")
{
tooltip.visibility = "hide"
}
}
if (ie4 || ie5 || ns5)
{
if (typeof tooltip != "undefined")
{
tooltip.style.visibility = "hidden";
}
}
}
}
/** Code to place a checkmark for all products in the Mark For Favorites column.
This code needs to have a hidden field somewhere in the calling .jsp page to
work correctly which must be named tableLength and have VALUE equal to the
number of dataTable rows
Ex:
*/
function markAll()
{
var fieldName;
var formName=document.forms[0].name;
var length = eval("document." + formName + ".tableLength.value");
for (x=0; x < length; x++)
{
fieldName=eval("document." + formName + ".ptcFlg_" + x);
if (fieldName != null)
{
fieldName.checked=true;
change();
}
}
}
function markAll1(lineNum)
{
var fieldName;
var formName=document.forms[0].name;
fieldName=eval("document." + formName + ".ptcFlg_" + lineNum);
if (typeof fieldName != "undefined")
{
fieldName.checked=true;
}
change();
}
/**
This function will close the current browser window that calls this function
*/
function closeWindow()
{
parent.close();
}
function detectEnter(e,mode)
{
var nav4 = window.Event ? true : false;
if (nav4)
{
var whichCode = e.which
} else
{
if (e.type=="keypress")
{
var whichCode=e.keyCode
}
}
if (e.type == "keypress" && whichCode=="13")
{
if (mode == "post")
{
postIt();
} else
{
e.srcElement.blur();
}
}
}
/**
This function displays/hides a section of HTML code. Typically the block of code is
within tags that have an ID associated with them. You pass that tag id to this function.
*/
function displayBlock(elementId)
{
var styleObject = document.getElementById(elementId);
if (styleObject.style.display == "none")
{
styleObject.style.display = "";
} else
{
styleObject.style.display = "none";
}
}
function printWindow()
{
if (window.print)
{
window.print() ;
} else
{
var WebBrowser = '';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box WebBrowser1.outerHTML = "";
}
}
function validatePhone(field,msg,country)
{
var formName=document.forms[0].name;
var areaCodePat = /(\d{3})-(\d{3})-(\d{4})/;
var fld = eval("document."+formName+"."+field);
var phone=fld.value;
var phoneMatch = phone.match(areaCodePat);
var countryCheck = eval("document."+formName+"."+country+".value");
if (phone != "" && phoneMatch == null && countryCheck == "US")
{
alert(msg);
fld.focus();
}
}
function validateZip(field,msg,country)
{
var formName=document.forms[0].name;
var zipCodePat = /(\d{5})-(\d{4})/;
var fld = eval("document."+formName+"."+field);
var zip = fld.value;
var zipMatch = zip.match(zipCodePat);
var countryCheck = eval("document."+formName+"."+country+".value");
if (zip.length > "5" && zip != "")
{
if (zipMatch == null && countryCheck == "US")
{
alert(msg);
fld.focus();
}
} else
{
if (zip != "" && zip.length < "5" && countryCheck == "US")
{
alert(msg);
fld.focus();
}
}
}
function MENUINITVARS()
{
// Gobal variables
LowBgColor='000AC8'; // Background color when mouse is not over
LowSubBgColor='000AC8'; // Background color when mouse is not over on subs
HighBgColor='WHITE'; // Background color when mouse is over
HighSubBgColor='WHITE'; // Background color when mouse is over on subs
FontLowColor='WHITE'; // Font color when mouse is not over
FontSubLowColor='WHITE'; // Font color subs when mouse is not over
FontHighColor='000AC8'; // Font color when mouse is over
FontSubHighColor='000AC8'; // Font color subs when mouse is over
BorderColor='BLACK'; // Border color
BorderSubColor='BLACK'; // Border color for subs
BorderWidth=2; // Border width
BorderBtwnElmnts=1; // Border between elements 1 or 0
FontFamily='arial,comic sans ms,technical' // Font family menu items
FontSize=9; // Font size menu items
FontBold=1; // Bold menu items 1 or 0
FontItalic=0; // Italic menu items 1 or 0
MenuTextCentered='center'; // Item text position 'left', 'center' or 'right'
MenuCentered='left'; // Menu horizontal position 'left', 'center' or 'right'
MenuVerticalCentered='top'; // Menu vertical position 'top', 'middle' or 'bottom'
ChildOverlap=.1; // horizontal overlap child/ parent
ChildVerticalOverlap=.9; // vertical overlap child/ parent
StartTop=0; // Menu offset x coordinate
StartLeft=1; // Menu offset y coordinate
VerCorrect=0; // Multiple frames y correction
HorCorrect=0; // Multiple frames x correction
LeftPaddng=3; // Left padding
TopPaddng=2; // Top padding
FirstLineHorizontal=1; // First level items layout horizontal 1 or 0
MenuFramesVertical=1; // Frames in cols or rows 1 or 0
DissapearDelay=100; // delay before menu folds in
TakeOverBgColor=0; // Menu frame takes over background color subitem frame
FirstLineFrame='navig'; // Frame where first level appears
SecLineFrame='space'; // Frame where sub levels appear
DocTargetFrame='space'; // Frame where target documents appear
TargetLoc=''; // DIV id for relative positioning (refer to config.htm for info)
HideTop=0; // Hide first level when loading new document 1 or 0
MenuWrap=1; // enables/ disables menu wrap 1 or 0
RightToLeft=0; // enables/ disables right to left unfold 1 or 0
UnfoldsOnClick=1; // Level 1 unfolds onclick/ onmouseover
WebMasterCheck=0; // menu tree checking on or off 1 or 0
AgntUsr=navigator.userAgent.toLowerCase();
DomYes=(document.getElementById)?1:0;
NavYes=(AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1)?1:0;
ExpYes=(AgntUsr.indexOf('msie')!=-1)?1:0;
Opr5=(AgntUsr.indexOf('opera 5')!=-1||AgntUsr.indexOf('opera/5')!=-1)?1:0;
DomNav=(DomYes&&NavYes)?1:0;
DomExp=(DomYes&&ExpYes)?1:0;
Nav4=(NavYes&&!DomYes&&document.layers)?1:0;
Exp4=(ExpYes&&!DomYes&&document.all)?1:0;
PosStrt=((NavYes||ExpYes)&&!Opr5)?1:0;
FrstLoc,ScLoc,DcLoc;
ScWinWdth,ScWinHght,FrstWinWdth,FrstWinHght;
ScLdAgainWin;
FirstColPos,SecColPos,DocColPos;
RcrsLvl=0;
FrstCreat=1,Loadd=0,Creatd=0,IniFlg,AcrssFrms=1;
FrstCntnr=null,CurrntOvr=null,CloseTmr=null;
CntrTxt,TxtClose,ImgStr;
Ztop=100;
ShwFlg=0;
M_StrtTp=StartTop,M_StrtLft=StartLeft;
LftXtra=(DomNav)?LeftPaddng:0;
TpXtra=(DomNav)?TopPaddng:0;
M_Hide=(Nav4)?'hide':'hidden';
M_Show=(Nav4)?'show':'visible';
Par=(parent.frames[0]&&FirstLineFrame!=SecLineFrame)?parent:window;
Doc=Par.document;
Bod=Doc.body;
Trigger=(NavYes)?Par:Bod;
MenuTextCentered=(MenuTextCentered==1||MenuTextCentered=='center')?'center':(MenuTextCentered==0||MenuTextCentered!='right')?'left':'right';
WbMstrAlrts=["No such frame: ","Item not defined: ","Item needs height: ","Item needs width: ","Item Oke ","Menu tree oke"];
//if (Trigger.onload)Dummy=Trigger.onload;
//if (DomNav&&!Opr5)Trigger.addEventListener('load',PAINTMENU,false);
//else Trigger.onload=PAINTMENU;
}
function CnclSlct()
{
// Prevents text select on menu items.
return false
}
function RePos()
{ // Repositions menu after resize IE and NS6
var FrstCntnrStyle=(!Nav4)?FrstCntnr.style:FrstCntnr;
FrstWinWdth=(ExpYes)?FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
FrstWinHght=(ExpYes)?FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
ScWinWdth=(ExpYes)?ScLoc.document.body.clientWidth:ScLoc.innerWidth;
ScWinHght=(ExpYes)?ScLoc.document.body.clientHeight:ScLoc.innerHeight;
if (TargetLoc)ClcTrgt();
if (MenuCentered)ClcLft();
if (MenuVerticalCentered)ClcTp();
PosMenu(FrstCntnr,StartTop,StartLeft)
}
function UnLoaded()
{ // Disables menu when document gets unloaded
// if (typeof(CloseTmr)!='undefined'&&CloseTmr)clearTimeout(CloseTmr);
Loadd=0; Creatd=0;
if (HideTop)
{
var FCStyle=(Nav4)?FrstCntnr:FrstCntnr.style;
FCStyle.visibility=M_Hide
}
}
function ReDoWhole()
{
// Reloads after resize NS4 only
if (ScWinWdth!=ScLoc.innerWidth||ScWinHght!=ScLoc.innerHeight||FrstWinWdth!=FrstLoc.innerWidth||FrstWinHght!=FrstLoc.innerHeight)
Doc.location.reload()
}
function Check(WMnu,NoOf)
{
// Checks menu tree
var i,Hg,Wd,La,Li,Nof,array,ArrayLoc;
ArrayLoc=(parent.frames[0])?parent.frames[FirstLineFrame]:self;
for (i=0;i":"";TxtClose=""+(MenuTextCentered!='left')?"":""
}
}
FirstColPos=(Nav4)?FrstLoc.document:FrstLoc.document.body;
SecColPos=(Nav4)?ScLoc.document:ScLoc.document.body;
DocColPos=(Nav4)?DcLoc.document:ScLoc.document.body;
if (TakeOverBgColor)FirstColPos.bgColor=(AcrssFrms)?SecColPos.bgColor:DocColPos.bgColor;
if (FrstCreat)
{
FrstCntnr=CreateMenuStructure('Menu',NoOffFirstLineMenus);
FrstCreat=(AcrssFrms)?0:1
} else CreateMenuStructureAgain('Menu',NoOffFirstLineMenus);
if (TargetLoc)ClcTrgt();
if (MenuCentered) ClcLft();
if (MenuVerticalCentered) ClcTp();
PosMenu(FrstCntnr,StartTop,StartLeft);
IniFlg=1;Initiate();Creatd=1;
ScLdAgainWin=(ExpYes)?ScLoc.document.body:ScLoc;
//ScLdAgainWin.onunload=UnLoaded;
//if(ExpYes)FrstLoc.document.body.onselectstart=CnclSlct;
Trigger.onresize=(Nav4)?ReDoWhole:RePos;
status='Menu ready for use'
}
function ClcTrgt()
{ // Calculates StartTop and Left when positioning is relative
var TLoc=(Nav4)?FrstLoc.document.layers[TargetLoc]:(DomYes)?FrstLoc.document.getElementById(TargetLoc):FrstLoc.document.all[TargetLoc];
StartTop=M_StrtTp; StartLeft=M_StrtLft;
StartTop+=(Nav4)?TLoc.pageY:TLoc.offsetTop;
StartLeft+=(Nav4)?TLoc.pageX:TLoc.offsetLeft
}
function ClcLft()
{ // Calculates StartTop and Left when menu is centered
if (MenuCentered!='left')
{
var Size=FrstWinWdth-((!Nav4)?parseInt(FrstCntnr.style.width):FrstCntnr.clip.width);
StartLeft=M_StrtLft;
StartLeft+=(MenuCentered=='right')?Size:Size/2
}
}
function ClcTp()
{ // Calculates StartTop and Left when menu is centered
if (MenuVerticalCentered!='top')
{
var Size=FrstWinHght-((!Nav4)?parseInt(FrstCntnr.style.height):FrstCntnr.clip.height);
StartTop=M_StrtTp;
StartTop+=(MenuVerticalCentered=='bottom')?Size:Size/2
}
}
function PosMenu(CntnrPntr,Tp,Lt)
{ // Positions menu elements
var Topi,Lefti,Hori;
var Cntnr=CntnrPntr;
var Mmbr=Cntnr.FrstMbr;
var CntnrStyle=(!Nav4)?Cntnr.style:Cntnr;
var MmbrStyle=(!Nav4)?Mmbr.style:Mmbr;
var PadL=(Mmbr.value.indexOf('<')==-1)?LftXtra:0;
var PadT=(Mmbr.value.indexOf('<')==-1)?TpXtra:0;
var MmbrWt=(!Nav4)?parseInt(MmbrStyle.width)+PadL:MmbrStyle.clip.width;
var MmbrHt=(!Nav4)?parseInt(MmbrStyle.height)+PadT:MmbrStyle.clip.height;
var CntnrWt=(!Nav4)?parseInt(CntnrStyle.width):CntnrStyle.clip.width;
var CntnrHt=(!Nav4)?parseInt(CntnrStyle.height):CntnrStyle.clip.height;
var SubTp,SubLt;
RcrsLvl++;
if (RcrsLvl==1 && AcrssFrms)(!MenuFramesVertical)?Tp=FrstWinHght-CntnrHt+((Nav4)?4:0):Lt=(RightToLeft)?0:FrstWinWdth-CntnrWt+((Nav4)?4:0);
if (RcrsLvl==2 && AcrssFrms)(!MenuFramesVertical)?Tp=0:Lt=(RightToLeft)?ScWinWdth-CntnrWt:0;
if (RcrsLvl==2 && AcrssFrms)
{
Tp+=VerCorrect;Lt+=HorCorrect
}
CntnrStyle.top=(RcrsLvl==1)?Tp:0;Cntnr.OrgTop=Tp;
CntnrStyle.left=(RcrsLvl==1)?Lt:0; Cntnr.OrgLeft=Lt;
if (RcrsLvl==1 && FirstLineHorizontal)
{
Hori=1; Lefti=CntnrWt-MmbrWt-2*BorderWidth;Topi=0
} else
{
Hori=Lefti=0; Topi=CntnrHt-MmbrHt-2*BorderWidth
}
while (Mmbr!=null)
{
PadL=(Mmbr.value.indexOf('<')==-1)?LftXtra:0;
PadT=(Mmbr.value.indexOf('<')==-1)?TpXtra:0;
MmbrStyle.left=Lefti+BorderWidth;
MmbrStyle.top=Topi+BorderWidth;
if (Nav4)Mmbr.CmdLyr.moveTo(Lefti+BorderWidth,Topi+BorderWidth);
if (Mmbr.ChildCntnr)
{
if (RightToLeft)ChldCntnrWdth=(Nav4)?Mmbr.ChildCntnr.clip.width:parseInt(Mmbr.ChildCntnr.style.width);
if (Hori)
{
SubTp=Topi+MmbrHt+2*BorderWidth;
SubLt=(RightToLeft)?Lefti+MmbrWt-ChldCntnrWdth:Lefti
} else
{
SubLt=(RightToLeft)?Lefti-ChldCntnrWdth+ChildOverlap*MmbrWt+BorderWidth:Lefti+(1-ChildOverlap)*MmbrWt+BorderWidth;
SubTp=(RcrsLvl==1&&AcrssFrms)?Topi:Topi+ChildVerticalOverlap*MmbrHt
}
PosMenu(Mmbr.ChildCntnr,SubTp,SubLt)
}
Mmbr=Mmbr.PrvMbr;
if (Mmbr)
{
MmbrStyle=(!Nav4)?Mmbr.style:Mmbr;
MmbrWt=(!Nav4)?parseInt(MmbrStyle.width)+PadL:MmbrStyle.clip.width;
MmbrHt=(!Nav4)?parseInt(MmbrStyle.height)+PadT:MmbrStyle.clip.height;
(Hori)?Lefti-=(BorderBtwnElmnts)?(MmbrWt+BorderWidth):(MmbrWt):Topi-=(BorderBtwnElmnts)?(MmbrHt+BorderWidth):(MmbrHt)
}
}
RcrsLvl--
}
function Initiate()
{ // Resets menu's visiblity
if (IniFlg)
{
Init(FrstCntnr);IniFlg=0;
}
}
function Init(CntnrPntr)
{
var Mmbr=CntnrPntr.FrstMbr;
var MCStyle=(Nav4)?CntnrPntr:CntnrPntr.style;
RcrsLvl++;
MCStyle.visibility=(RcrsLvl==1)?M_Show:M_Hide;
CntnrPntr.Sflg=(RcrsLvl==1)?1:0;
while (Mmbr!=null)
{
if (Mmbr.ChildCntnr) Init(Mmbr.ChildCntnr);
Mmbr=Mmbr.PrvMbr
}
RcrsLvl--
}
function ClearAllChilds(Pntr,ChldPntr)
{ // Hides no longer wanted elements
var CPCCStyle;
while (Pntr)
{
if (Pntr.ChildCntnr&&Pntr.ChildCntnr.Sflg)
{
CPCCStyle=(Nav4)?Pntr.ChildCntnr:Pntr.ChildCntnr.style;
if (Pntr.ChildCntnr!=ChldPntr)
{
CPCCStyle.visibility=M_Hide;Pntr.ChildCntnr.Sflg=0
}
ClearAllChilds(Pntr.ChildCntnr.FrstMbr,ChldPntr)
}
Pntr=Pntr.PrvMbr
}
}
function GoTo()
{ // Triggered by mouse click
if (this.LinkTxt)
{
status='';
if (Nav4)
{
if (this.LowLyr.LoBck)this.LowLyr.bgColor=this.LowLyr.LoBck;if (this.LowLyr.value.indexOf('ScWinWdth+LScrlld)SubLt=ScWinWdth+LScrlld-CCW
} else
{
if (SubLt+CCW>ScWinWdth+LScrlld)SubLt=(this.Level==1)?ScWinWdth+LScrlld-CCW:SubLt-(CCW+(1-2*ChildOverlap)*ThisWt);
if (SubLtTpScrlld+ScWinHght)SubTp=(this.Level==1)?SubTp=TpScrlld+ScWinHght-CCH:SubTp-CCH+(1-2*ChildVerticalOverlap)*ThisHt;
if (SubTp"
}
this.value=MemVal;
if (RcrsLvl==1)
{
a=LowBgColor;
b=HighBgColor;
c=FontLowColor;
d=FontHighColor
} else
{
a=LowSubBgColor;
b=HighSubBgColor;
c=FontSubLowColor;
d=FontSubHighColor
}
this.LoBck=a;
this.LwFntClr=c;
this.HiBck=b;
this.HiFntClr=d;
this.style.color=this.LwFntClr;
if (this.LoBck)this.style.backgroundColor=this.LoBck;
this.style.textAlign=MenuTextCentered;
if (eval(WhatMenu+'[2]'))this.style.backgroundImage="url(\'"+eval(WhatMenu+'[2]')+"\')";
if (MemVal.indexOf('<')==-1)
{
this.style.width=Wdth-LftXtra;
this.style.height=Hght-TpXtra;
this.style.paddingLeft=LeftPaddng;
this.style.paddingTop=TopPaddng
} else
{
this.style.width=Wdth;
this.style.height=Hght
}
if (MemVal.indexOf('<')==-1&&DomYes)
{
t=Location.document.createTextNode(MemVal);this.appendChild(t)
} else this.innerHTML=MemVal;
if (eval(WhatMenu+'[3]'))
{
S=(RcrsLvl==1&&FirstLineHorizontal)?'tridown.gif':(RightToLeft)?'trileft.gif':'tri.gif';
W=(RcrsLvl==1&&FirstLineHorizontal)?10:5;
H=(RcrsLvl==1&&FirstLineHorizontal)?5:10;
T=(RcrsLvl==1&&FirstLineHorizontal)?Hght-7:Hght/2-5;
L=(RcrsLvl==1&&FirstLineHorizontal)?Wdth-12:Wdth-7;
if (DomYes)
{
t=Location.document.createElement('img');
this.appendChild(t);
t.style.position='absolute';
t.src=S;
t.style.width=W;
t.style.height=H;
t.style.top=T;
t.style.left=L
} else
{
MemVal+="
";
this.innerHTML=MemVal
}
}
if (ExpYes)
{
this.onmouseover=(RcrsLvl==1&&UnfoldsOnClick)?OpenMenuClick:OpenMenu;
this.onmouseout=CloseMenu;
this.onclick=(RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]'))?OpenMenu:GoTo
} else
{
(RcrsLvl==1&&UnfoldsOnClick)?this.addEventListener('mouseover',OpenMenuClick,false):this.addEventListener('mouseover',OpenMenu,false);
this.addEventListener('mouseout',CloseMenu,false);
(RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]'))?this.addEventListener('click',OpenMenu,false):this.addEventListener('click',GoTo,false)
}
}
function NavMbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght)
{ // Sets up element IE & NS6
var a,b,c,d;
if (RcrsLvl==1)
{
a=LowBgColor; b=HighBgColor; c=FontLowColor; d=FontHighColor
} else
{
a=LowSubBgColor; b=HighSubBgColor; c=FontSubLowColor; d=FontSubHighColor
}
this.value=eval(WhatMenu+'[0]');
this.ro=0;
if (this.value.indexOf('rollover')!=-1)
{
this.ro=1;this.ri1=this.value.substring(this.value.indexOf(':')+1,this.value.lastIndexOf(':'));
this.ri2=this.value.substring(this.value.lastIndexOf(':')+1,this.value.length);
this.rid=WhatMenu+'i';this.value=""
}
if (LeftPaddng&&this.value.indexOf('<')==-1&&MenuTextCentered=='left')this.value=' \;'+this.value;
if (FontBold)this.value=this.value.bold();
if (FontItalic)this.value=this.value.italics();
this.Ovalue=this.value;
this.value=this.value.fontcolor(c);
this.Ovalue=this.Ovalue.fontcolor(d);
this.value=CntrTxt+""+this.value+TxtClose;
this.Ovalue=CntrTxt+""+this.Ovalue+TxtClose;
this.LoBck=a;
this.HiBck=b;
this.ChildCntnr=null;
this.PrvMbr=PrMmbr;
this.visibility='inherit';
if (this.LoBck)this.bgColor=this.LoBck;
this.resizeTo(Wdth,Hght);
if (!AcrssFrms&&eval(WhatMenu+'[2]'))this.background.src=eval(WhatMenu+'[2]');
this.document.write(this.value);
this.document.close();
this.CmdLyr=new Layer(Wdth,MmbrCntnr);
this.CmdLyr.Level=RcrsLvl;
this.CmdLyr.LinkTxt=eval(WhatMenu+'[1]');
this.CmdLyr.visibility='inherit';
this.CmdLyr.onmouseover=(RcrsLvl==1&&UnfoldsOnClick)?OpenMenuClick:OpenMenu;
this.CmdLyr.onmouseout=CloseMenu;
this.CmdLyr.captureEvents(Event.MOUSEUP);
this.CmdLyr.onmouseup=(RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]'))?OpenMenu:GoTo;
this.CmdLyr.LowLyr=this;
this.CmdLyr.resizeTo(Wdth,Hght);
this.CmdLyr.Container=MmbrCntnr;
if (eval(WhatMenu+'[3]'))
{
this.CmdLyr.ImgLyr=new Layer(10,this.CmdLyr);
this.CmdLyr.ImgLyr.visibility='inherit';
this.CmdLyr.ImgLyr.top=(RcrsLvl==1&&FirstLineHorizontal)?Hght-7:Hght/2-5;
this.CmdLyr.ImgLyr.left=(RcrsLvl==1&&FirstLineHorizontal)?Wdth-12:Wdth-7;
this.CmdLyr.ImgLyr.width=(RcrsLvl==1&&FirstLineHorizontal)?10:5;
this.CmdLyr.ImgLyr.height=(RcrsLvl==1&&FirstLineHorizontal)?5:10;
//ImgStr=(RcrsLvl==1&&FirstLineHorizontal)?triDownString:(RightToLeft)?triLeftString:triRightString;
ImgStr=(RcrsLvl==1&&FirstLineHorizontal)?'':(RightToLeft)?'':'';
this.CmdLyr.ImgLyr.document.write(ImgStr);
this.CmdLyr.ImgLyr.document.close()
}
}
function CreateMenuStructure(MName,NumberOf)
{
RcrsLvl++;
var i,NoOffSubs,Mbr,Wdth=0,Hght=0;
var PrvMmbr=null;
var WMnu=MName+'1';
var MenuWidth=eval(WMnu+'[5]');
var MenuHeight=eval(WMnu+'[4]');
var Location=(RcrsLvl==1)?FrstLoc:ScLoc;
if (RcrsLvl==1&&FirstLineHorizontal)
{
for (i=1;i<\/div>");
var MmbrCntnr=Location.document.all[WMnu]
}
MmbrCntnr.SetUp=CntnrSetUp;
MmbrCntnr.SetUp(Wdth,Hght,NumberOf);
if (Exp4)
{
MmbrCntnr.InnerString='';
for (i=1;i<\/div>"
}
MmbrCntnr.innerHTML=MmbrCntnr.InnerString
}
for (i=1;i0;i--)
{
WMnu=MName+eval(i);
NoOffSubs=eval(WMnu+'[3]');
PrvMmbr=Mbr;
if (NoOffSubs)Mbr.ChildCntnr=CreateMenuStructure(WMnu+'_',NoOffSubs);
Mbr=Mbr.PrvMbr
}
RcrsLvl--
}
function init()
{
CursorDefault()
// MENUINITVARS();
// PAINTMENU();
return
}
/**
This function validates the cart quantity that the user entered.
If the Enforce Min Sell Qty flag is "Y", then this function will verify that the quantity
entered is greater than the minimum sell qty AND is a multiple of the minimum selling quantity.
Currently the selling package quantity is only used to initially default the quantity but not
used for any kind of validation.
@param lineNum The line number of the product the user changed quantities on
@param minSellQty The minimum quantity is used is allowed to buy of this product. Also used
to see if the entered quantity is a multiple of this quantity
@param increment The quantity that will be added when the user hits the up arrow
@param defQty The quantity that defaults in the quantity box, comes from Selling Package Qty in ADS
@param inCartQty The current cart quantity that the user entered
@param enforceFlag Y/N flag to determine if we are enforcing the minimum sell quantities
@param minOrderQty is the limit the web user can purchase this products
@param maxOrderQty is the limit the web user can purchase for this product
*/
function qtyValidate(lineNum,minSellQty,increment,defQty,inCartQty,enforceFlag,minOrderQty,maxOrderQty)
{
var currentQty = eval("document.forms[0].icQty_" + lineNum + ".value");
var currentQtyField = eval("document.forms[0].icQty_" + lineNum);
var newCurrentQty=currentQty;
var msg="";
if (currentQty.indexOf("+") > -1)
{
newCurrentQty = inCartQty + parseInt(eval("document.forms[0].icQty_" + lineNum + ".value"));
} else if (currentQty.indexOf("-") > -1)
{
newCurrentQty = inCartQty + parseInt(eval("document.forms[0].icQty_" + lineNum + ".value"));
}
if (enforceFlag && newCurrentQty!="0" && minSellQty!="0")
{
var remainder = newCurrentQty % increment;
if (newCurrentQty < minSellQty)
{
msg="The Quantity Entered Cannot Be Less Than " + minSellQty + ". The Quantity Has Been Changed to the Minimum Selling Quantity.\n";
currentQtyField.value = minSellQty;
currentQtyField.focus();
} else if (remainder > 0)
{
if (enforceFlag)
{
msg="The Quantity Entered Is Not A Multiple Of This Product's Package Quantity. Quantity Has Been Rounded Up.\n";
currentQtyField.value = (newCurrentQty - remainder) + increment;
currentQtyField.focus();
}
}
}
if (minOrderQty!="0" && maxOrderQty!="0" && newCurrentQty!="0")
{
if (newCurrentQty < minOrderQty)
{
msg="The Quantity Entered Cannot Be Less Than " + minOrderQty + ". Quantity Has Been Changed To Minimum Ordering Level.\n";
currentQtyField.value = minOrderQty;
currentQtyField.focus();
} else if (newCurrentQty > maxOrderQty)
{
msg="The Quantity Entered May Not Exceed " + maxOrderQty + ". Quantity Has Been Changed To Maximum Ordering Level.\n";
currentQtyField.value = maxOrderQty;
currentQtyField.focus();
}
}
if (msg != "")
{
alert(msg);
} else
{
if (newCurrentQty!="0")
{
currentQtyField.value = newCurrentQty;
}
}
}
/*
Date Check functions
*/
function checkdate(objName,leadTime)
{
var datefield = objName;
if (objName.value.length == 0)
{
return;
}
if (objName.value.length <6)
{
alert("That date is invalid. Please try again.");
datefield.select();
datefield.focus();
return false;
}
if (chkdate(objName) == false)
{
datefield.select();
alert("That date is invalid. Please try again.");
datefield.focus();
return false;
} else
{
var leadDate=calcLeadTimeDate(objName,leadTime);
if (checkLeadTime(objName,leadDate) == false)
{
alert("date Entered must be Greater than "+leadDate);
datefield.select();
datefield.focus();
return false;
} else
{
return true;
}
}
}
function chkdate(objName)
{
var strDatestyle = "US"; //United States date style
//var strDatestyle = "EU"; //European date style
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
var err = 0;
var strMonthArray = new Array(12);
strMonthArray[0] = "Jan";
strMonthArray[1] = "Feb";
strMonthArray[2] = "Mar";
strMonthArray[3] = "Apr";
strMonthArray[4] = "May";
strMonthArray[5] = "Jun";
strMonthArray[6] = "Jul";
strMonthArray[7] = "Aug";
strMonthArray[8] = "Sep";
strMonthArray[9] = "Oct";
strMonthArray[10] = "Nov";
strMonthArray[11] = "Dec";
strDate = datefield.value;
if (strDate.length < 1)
{
return true;
}
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++)
{
if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1)
{
strDateArray = strDate.split(strSeparatorArray[intElementNr]);
if (strDateArray.length != 3)
{
err = 1;
return false;
} else
{
strDay = strDateArray[0];
strMonth = strDateArray[1];
strYear = strDateArray[2];
}
booFound = true;
}
}
if (booFound == false)
{
if (strDate.length>5)
{
strDay = strDate.substr(0, 2);
strMonth = strDate.substr(2, 2);
strYear = strDate.substr(4);
}
}
if (strYear.length < 2)
{
strYear=fmt00(strYear);
}
if (strYear.length == 2)
{
strYear = '20' + strYear;
}
// US style
if (strDatestyle == "US")
{
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
}
intday = parseInt(strDay, 10);
if (isNaN(intday))
{
err = 2;
return false;
}
intday=fmt00(intday);
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth))
{
for (i = 0;i<12;i++)
{
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase())
{
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
}
}
if (isNaN(intMonth))
{
err = 3;
return false;
}
}
intMonth=fmt00(intMonth);
intYear = parseInt(strYear, 10);
if (isNaN(intYear))
{
err = 4;
return false;
}
if (intMonth>12 || intMonth<1)
{
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1))
{
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1))
{
err = 7;
return false;
}
if (intMonth == 2)
{
if (intday < 1)
{
err = 8;
return false;
}
if (LeapYear(intYear) == true)
{
if (intday > 29)
{
err = 9;
return false;
}
} else
{
if (intday > 28)
{
err = 10;
return false;
}
}
}
intYear=fmt00(intYear);
if (strDatestyle == "US")
{
datefield.value = fmt00(intMonth) + "/" + fmt00(intday)+"/" + fmt00(strYear);
} else
{
datefield.value = fmt00(intday) + " " + strMonthArray[intMonth-1] + " " + fmt00(strYear);
}
return true;
}
function LeapYear(intYear)
{
if (intYear % 100 == 0)
{
if (intYear % 400 == 0)
{
return true;
}
} else
{
if ((intYear % 4) == 0)
{
return true;
}
}
return false;
}
function doDateCheck(from, to)
{
if (Date.parse(from.value) <= Date.parse(to.value))
{
return true;
// alert("The dates are valid.");
} else
{
if (from.value == "" || to.value == "")
alert("Both dates must be entered.");
else
alert("To date must occur after the from date.");
}
}
function calcLeadTimeDate(dte,leadDays)
{
var sysDate=new Date();
var dys=sysDate.getDate()+leadDays;
var dateplusLead = new Date(sysDate.getYear(),sysDate.getMonth(),dys);
return dateplusLead;
}
function checkLeadTime(dte,leadDate)
{
var testDate = new Date(dte.value);
if ( testDate <= leadDate)
{
return false;
} else
{
return true;
}
}
function fmt00(b)
{
var d = b.value;
// fmt00: Tags leading zero onto numbers 0 - 9.
// Particularly useful for displaying results from Date methods.
//
if (parseInt(b) < 0) var neg = true;
if (Math.abs(parseInt(b)) < 10)
{
b = "0"+ Math.abs(b);
}
if (neg) b = "-"+b;
return b;
}