var popWinCount       = 0;
var popWinList        = new Array();
var popWinLock        = false;
var newPopLockState   = false;
var win               = null;
var ContextName       = "ishop";
var zipCodeCountrList = "~CA~IN~PR~US~MP~";
var ca_states         = "~AB~BC~MB~NB~NF~NT~NS~NU~ON~PE~QC~SK~YT~";
var partNumberPrefix  = "";
var isAjaxBookOpened  = false;
var supStoreCatFldr   = "";

/*
Browser Details: userAgent & appName Values
NC : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; NetCaptor 7.2.2) [Microsoft Internet Explorer]
AOL: Mozilla/4.0 (compatible; MSIE 6.0; AOL 9.0; Windows NT 5.1; SV1) [Microsoft Internet Explorer]
IE : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) [Microsoft Internet Explorer]
FF : Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4 [Netscape]
NS : Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) [Netscape]
*/

var browser_userAgent   = (navigator.userAgent).toLowerCase();
var browser_appName     = (navigator.appName).toLowerCase();
var browserIndex        = -1;
var isSupportedBrowser  = false;

//0-IE; 1:NS; 2:AOL; 3:FF; 4:NC
browserIndex  = (browser_userAgent.indexOf("netcaptor") >= 0)?   4 : browserIndex;
browserIndex  = (browser_userAgent.indexOf("aol") >= 0)?         2 : browserIndex;
browserIndex  = (browser_userAgent.indexOf("netscape") >= 0)?    1 : browserIndex;
browserIndex  = (browser_userAgent.indexOf("firefox") >= 0)?     3 : browserIndex;
browserIndex  = ((browserIndex < 0) && (browser_userAgent.indexOf("msie") >= 0) && (browser_appName.indexOf("microsoft internet explorer") >= 0))? 0 : browserIndex;

isSupportedBrowser = ((browserIndex == 0) || (browserIndex == 1) || (browserIndex == 3));

/* session Keep Alive Script Begins */
var refreshLapTimeInSec  = 300;
var refreshTimerID       = 0;
var refreshTimerCurLap   = 0;
var refreshCount         = 0;

function updateRefreshTimer()
{ if (refreshTimerID)
  { clearTimeout(refreshTimerID);
    clockID = 0;
  };
  if (refreshTimerCurLap>=refreshLapTimeInSec)
  { refreshTimerCurLap=0;
    refreshCount++;
    imgPath = "/"+ContextName+"/jsp/AsplIsmZpreserveSessionByImg.jsp?id="+refreshCount;
    sesKeepAliveImgObj = getDocObj("sesKeepAliveImg");
    if (sesKeepAliveImgObj!=null)
    { sesKeepAliveImgObj.src = imgPath;
    }
  };
  refreshTimerCurLap++;
  refreshTimerID = setTimeout("updateRefreshTimer()", 1000);
}

function keepSessionAlive()
{ refreshTimerID = setTimeout("updateRefreshTimer()", 1000);
}

keepSessionAlive();
/* session Keep Alive Script Ends */


function isCookieFound(name)
{ var retValue = false;
  var cookies = document.cookie;
  retValue =  (cookies.indexOf(name+"=") >= 0);
  return (retValue);
}

function readCookie(name)
{ var retValue = "";
  var cookies = document.cookie;
  var start = cookies.indexOf(name+"=");
  if (start >= 0)
  { start = cookies.indexOf("=", start) + 1;
    var end = cookies.indexOf(";", start);
    if (end == -1)
    { end = cookies.length;
    };
    var value = unescape(cookies.substring(start, end));
    if (value != null)
    { retValue = value;
    };
  };
  return (retValue);
}

function isBlankStr(Str)
{ while(''+Str.charAt(0)==' ')
  Str=Str.substring(1,Str.length);
  while(''+Str.charAt(Str.length-1)==' ')
  Str=Str.substring(0,Str.length-1);
  if (Str == '') {  return(true); } else { return(false);  };
}

function strTrim(Str, trimChar)
{ while(""+Str.charAt(0)==trimChar) Str=Str.substring(1,Str.length);
  while(""+Str.charAt(Str.length-1)==trimChar) Str=Str.substring(0,Str.length-1);
  return(Str);
}

function goToHomeInBase(homeID)
{ switch (""+homeID)
  { case "0": //ECat
              MM_goToURL('parent', '/'+ContextName+'/jsp/AsplIsmHomeEcat.jsp?reqFor=29');
              break;
    case "1": //FCat
              MM_goToURL('parent', '/'+ContextName+'/jsp/AsplIsmHomeFcat.jsp?reqFor=28');
              break;
    case "2": //CCat
              MM_goToURL('parent', '/'+ContextName+'/jsp/AsplIsmHomeCcat.jsp?reqFor=29');
              break;
  };
}

function goToNextField()
{ isNs = (document.getElementById&&!document.all);
  isIe = (document.all);

  if (isIe)
  { if ((event.keyCode) == 13)
    { event.keyCode = 9;
    };
  };
}

function callFunction(func)
{
  isNs = (document.getElementById&&!document.all);
  isIe = (document.all);

  if (isIe)
  { if ((event.keyCode) == 13)
    { eval(func);
    };
  };
}

var popUpAlertMsg = "";

function NewWindow(mypage, myname)
{ NewWindowSize(mypage, myname, 10, 18, 438, 400)
}

function NewWindowSize(mypage, myname, LP, TP, WW, WH)
{ settings ='height='+WH+',width='+WW+',top='+TP+',left='+LP+',scrollbars=yes,resizable=yes,status=no';
  win = window.open(mypage,myname,settings);
  if (win != null)
  { if (!newPopLockState)
    { recordPopUp(win);
    };
    retValue = true;
    win.focus();
  }
  else if (!(isBlankStr(popUpAlertMsg)))
  { alert(popUpAlertMsg);
  };
}

function recordPopUp(winObj)
{ popWinList[popWinCount] = winObj;
  popWinCount++;
}

function closePopUpWin(id)
{ popUpWinObj = popWinList[id];
  if (popUpWinObj != null)
  { if ((popUpWinObj.popWinLock == null) || (!popUpWinObj.popWinLock))
    { popUpWinObj.document.location = '/'+ContextName+"/jsp/AsplIsmWindowClose.jsp";
    };
  };
}

function closeAllPopWin()
{ if ((!popWinLock) && (popWinCount > 0))
  { for(i=0; i<popWinCount; i++)
    { closePopUpWin(i);
    };
  };
}

function MM_jumpMenu(targ,selObj,restore)
{ //v3.0
	  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	  if (restore) selObj.selectedIndex=0;
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function CheckAll(docFrm, chkBox)
{ var myForm = docFrm;
  for (var i=0;i < myForm.elements.length;i++)
  { var e = myForm.elements[i];
    if (e.type == "checkbox")
    { e.checked = chkBox.checked;
    };
  };
}

function CheckIndAll(docFrm, mainChkBox)
{ var myForm = docFrm;
  var allChecked=0;
  var CheckBoxCount=0;
  for (var i=0;i < myForm.elements.length;i++)
  { var e = myForm.elements[i];
    if (e.type == "checkbox") { CheckBoxCount++; };
  };

  for (var j=0;j < myForm.elements.length;j++)
  { var e = myForm.elements[j];
    if ((e.type == "checkbox") && (e.name != mainChkBox.name) && (e.checked)) { allChecked++; };
  };

  if (allChecked == CheckBoxCount-1)
  { mainChkBox.checked=true;
  }
  else if (CheckBoxCount > allChecked)
  { mainChkBox.checked=false;
  };
}

function isCheckBoxChecked(docFrm, mainChkBox)
{ var retValue = false;
  var myForm = docFrm;
  var allChecked=0;
  var CheckBoxCount=0;
  for (var i=0;i < myForm.elements.length;i++)
  { var e = myForm.elements[i];
    if (e.type == "checkbox") { CheckBoxCount++; };
  };

  for (var j=0;j < myForm.elements.length;j++)
  { var e = myForm.elements[j];
    if ((e.type == "checkbox") && (e.name != mainChkBox.name) && (e.checked)) { allChecked++; };
  };

  retValue = (allChecked > 0);

  return ( retValue );
}

function isCheckBoxsChecked(docFrm)
{ var retValue = false;
  myForm = docFrm;
  var allChecked=0;
  var CheckBoxCount=0;
  for (var i=0;i < myForm.elements.length;i++)
  { var e = myForm.elements[i];
    if (e.type == "checkbox") { CheckBoxCount++; };
  };

  for (var j=0;j < myForm.elements.length;j++)
  { var e = myForm.elements[j];
    if ((e.type == "checkbox") && (e.checked)) { allChecked++; };
  };

  retValue = (allChecked > 0);

  return ( retValue );
}

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); 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;
}


isNsClient = (document.getElementById&&!document.all);
isIeClient = (document.all);

var addSubAdj = 124; //90;
var needToAdj = false;

function setNeedToAdj(setValue)
{ needToAdj = setValue;
}

var featuredStores = 0;

function resetPageLeftBarHeight()
{
  var minus4Ie = 585+(featuredStores * 20); //292+h4Links;
  var minus4Ns = minus4Ie + 4;

  var curPgDisH = 0;
  var curPgDocH = document.body.scrollHeight;
  var newHeight4Left = 0;
  var minusH   = 0;
  if (isNsClient)
  { curPgDisH = window.self.innerHeight;
    pgLeftBarImg = document.getElementById("imgLeftSpacer");
    minusH = minus4Ns;
  }
  else if (isIeClient)
  { curPgDisH = document.body.offsetHeight;
    pgLeftBarImg = document.all("imgLeftSpacer");
    minusH = minus4Ie;
  };

  minusH = minusH + ((needToAdj)? addSubAdj : 0);
  if (curPgDisH > curPgDocH)
  { newHeight4Left = curPgDisH - minusH;
  }
  else if (curPgDisH <= curPgDocH)
  { newHeight4Left = curPgDocH - minusH;
  };
  pgLeftBarImg.height = newHeight4Left;
}

function ValidatePhoneLength(val,country)
{ var strPass = val.value;
  var strLength = strPass.length;
  var strCountry = country;
  var retValue = true;
  switch (strCountry)
  {
   case "US": case "CA": case "PR": case "MP": case "us": case "ca": case "pr": case "mp":
     if(strLength != 13)
     {alert("You must enter a full 10 digit  number")
      val.select();
      val.focus;
      retValue = false;
     };
     break;
   case "IN": case "in":
    if(strLength != 15)
    {alert("You must enter a full 12 digit  number, complete with country code.")
     val.select();
     val.focus;
     retValue = false;
    };
    break;
/*
   case "AU":case "au":
     if(strLength != 15)
     {alert("You must enter a full 11 digit  number, complete with country code.")
      val.select();
      val.focus;
      retValue = false;
     };
     break;
   case "NZ":  case "nz":
    if(strLength != 14)
    {alert("You must enter a full 11 digit  number, complete with country code.")
     val.select();
     val.focus;
     retValue = false;
    };
    break;
*/
   }
   return retValue;
 }


 function ValidatePhone(val,country)
 {  var ValidChar = /[0123456789]/;
    var strPass = val.value;
    var strLength = strPass.length;
    var lchar;
    var strPart = "";
    var i;
    var strCountry = country;
    var ccode;

    switch (strCountry)
    { case "US": case "CA": case "PR": case "MP": case "us": case "ca": case "pr": case "mp":
        if (val.value.charAt(0) != "0" && val.value.charAt(0) != "1")
        { //phone # can not start with 0 or 1
          for (i=1;i<=strLength;i++)
          { //take all unvalids out
            lchar = val.value.charAt(i-1);
            if(lchar.search(ValidChar) == 0)
            { strPart = strPart + lchar;
            };
          };
          strPass = strPart;
          if(strPass.length>2)
          { //put first dashes back in
            switch (strPass.substring(0,3))
            {
              case "000": case "222": case "333": case "444": case "555": case "666": case "777": case "999":
                strPart = ""
                break
              default:
                strPart = "("+strPass.substring(0,3) + ")" + strPass.substring(3,strPass.length)
                strPass = strPart
                if(strPass.length>6)
                { if(strPass.substring(4,6) == "555")
                  { strPart = strPass.substring(0,4) + ")";
                  }
                  else
                  { strPart = strPass.substring(0,8) + "-" + strPass.substring(8,12); //add last dash and limit to 10 digits
                  }
                };
            };
          };
        };
       break;
      case "IN": case "in":
       if (strLength != 0)
       { ccode = "91"
         for (i=1;i<=strLength;i++)
         { //take all unvalids out
           lchar = val.value.charAt(i-1);
           if(lchar.search(ValidChar) == 0)
           { strPart = strPart + lchar;
           };
         };
         strPass = strPart;
         if (strPass.substring(0,2) == ccode)
         { strPart = "+" + ccode +"-" + strPass.substring(2,strPass.length);
         }
         else if (strPass.substring(0,1) == "6")
         { strPart = "+" + ccode +"-" + strPass.substring(1,strPass.length);
         }
         else
         { strPart = "+" + ccode +"-" + strPass;
         };
         strPass = strPart
         if(strPass.length>4)
         { //put first dashes back in
            switch (strPass.substring(4,5))
            { case "0": case "1":
                strPart = strPass.substring(0,4)
                break
              default:
                strPart = strPass.substring(0,6) + "-" + strPass.substring(6,strPass.length)
                strPass = strPart
                if(strPass.length>9)
                { strPart = strPass.substring(0,15) ;
                //strPart = strPass.substring(0,10) + "-" + strPass.substring(10,14); //add last dash and limit to 15 digits
                };
            };
         };
       };
       break;

/*
      case "AU": case "au":
        ccode = "61"
        for (i=1;i<=strLength;i++)
        { //take all unvalids out
          lchar = val.value.charAt(i-1);
          if(lchar.search(ValidChar) == 0)
          { strPart = strPart + lchar;
          };
        };
        strPass = strPart;
        if (strPass.substring(0,2) == ccode)
        { strPart = "+" + ccode +"-" + strPass.substring(2,strPass.length);
        }
        else if (strPass.substring(0,1) == "6")
        { strPart = "+" + ccode +"-" + strPass.substring(1,strPass.length);
        }
        else
        { strPart = "+" + ccode +"-" + strPass;
        }
        strPass = strPart
        if(strPass.length>4)
        { //put first dashes back in
          switch (strPass.substring(4,5))
          { case "0": case "1":
              strPart = strPass.substring(0,4)
              break
            default:
              strPart = strPass.substring(0,5) + "-" + strPass.substring(5,strPass.length)
              strPass = strPart
              if(strPass.length>9)
              { strPart = strPass.substring(0,10) + "-" + strPass.substring(10,14); //add last dash and limit to 15 digits
              };
          };
        };
       break;

      case "NZ": case "nz": ccode = "64"
        for (i=1;i<=strLength;i++)
        { //take all unvalids out
          lchar = val.value.charAt(i-1);
          if(lchar.search(ValidChar) == 0)
          { strPart = strPart + lchar;
          };
        }
        strPass = strPart;

        if (strPass.substring(0,2) == ccode)
        { strPart = "+" + ccode +"-" + strPass.substring(2,strPass.length);
        }
        else if (strPass.substring(0,1) == "6")
        { strPart = "+" + ccode +"-" + strPass.substring(1,strPass.length);
        }
        else
        { strPart = "+" + ccode +"-" + strPass;
        }
        strPass = strPart
        if(strPass.length>4)
        { //put first dashes back in
          switch (strPass.substring(4,5))
          { case "0": case "1":
              strPart = strPass.substring(0,4)
              break
            default:
              strPart = strPass.substring(0,5) + "-" + strPass.substring(5,strPass.length)
              strPass = strPart
              if(strPass.length>8)
              { strPart = strPass.substring(0,9) + "-" + strPass.substring(9,13); //add last dash and limit to 14 digits
              };
          };
        };
        break;
*/
      default:
        strPart = val.value
    };
  val.value = strPart;
}

function isValidZip(obj, objCountry, errmsg)
{ var retValue = true;
  var ValidChar = /[-0123456789]/;
  var strPass = obj.value;
  var strLength = strPass.length;
  var lchar;
  var strPart = "";
  var i;

  if ((objCountry.value == "US") || (objCountry.value == "PR") || (objCountry.value == "MP"))
  { for (i=1; i <= strLength; i++)
    { lchar = obj.value.charAt(i-1)
      if(lchar.search(ValidChar) == 0)
      {strPart = strPart + lchar;
      };
    };
    strPass = strPart;
    if (strPass.length < 5)
    { alert (errmsg);
      retValue = false;
      focusObj(obj, 1);
    }
    else if ((strPass.length == 9) && (!(strPass.substring(5,6) == "-")))
    { strPass = strPass.substring(0,5)+"-"+strPass.substring(5,9)
      obj.value = strPass;
      retValue = true;
    }
    else if (strPass.length > 5)
    { if(!(strPass.substring(5,6) == "-"))
      { alert (errmsg);
        retValue = false;
        focusObj(obj, 1);
      }
      else if((strPass.substring(5,6) == "-") && (!(strPass.length == 10)))
      { alert (errmsg);
        retValue = false;
        focusObj(obj, 1);
      };
    };
  };

  return (retValue);
};

function getDocObjValue(objName)
{ reqObj   = getDocObj(objName);
  retValue = "";
  if (reqObj != null)
  { retValue = reqObj.value;
  };
  return (retValue);
}

function getDocObjValueInDoc(doc, objName)
{ reqObj   = getDocObjInDoc(doc, objName);
  retValue = "";
  if (reqObj != null)
  { retValue = reqObj.value;
  };
  return (retValue);
}

function getDocObj(objName)
{ retObj = null;
  isNS6 = (document.getElementById&&!document.all);
  isIE  = (document.all);
  if (isNS6)
  { retObj = document.getElementById(objName);
  }
  else if (isIE)
  { retObj = document.all(objName);
  };
  return ( retObj );
}

function getDocObjs(objName)
{ retObj = null;
  isNS6 = (document.getElementById&&!document.all);
  isIE  = (document.all);
  if (isNS6)
  { retObj = document.getElementsByName(objName);
  }
  else if (isIE)
  { retObj = document.all(objName);
  };
  return ( retObj );
}

function getDocObjInDoc(doc, objName)
{ retObj = null;
  isNS6 = (doc.getElementById&&!document.all);
  isIE  = (doc.all);
  if (isNS6)
  { retObj = doc.getElementById(objName);
  }
  else if (isIE)
  { retObj = doc.all(objName);
  };
  return ( retObj );
}

function getDocObjsInDoc(doc, objName)
{ retObj = null;
  isNS6 = (doc.getElementById&&!document.all);
  isIE  = (doc.all);
  if (isNS6)
  { retObj = doc.getElementsByName(objName);
  }
  else if (isIE)
  { retObj = doc.all(objName);
  };
  return ( retObj );
}

docTopPos = 0;

function showPopUpAlert()
{ docTopPos = document.body.scrollTop;
  winW = 275;
  winH = 300;
  scrW = screen.width;
  scrH = screen.height;
  posL = (scrW)? (scrW-winW)/2 : 0;
  posT = (scrH) ? (docTopPos+((scrH-winH)/2)) : 0;
  isNS6 = (document.getElementById&&!document.all);
  isIE  = (document.all);
  alertLayerObj = getDocObj("alertLayer");
  if (alertLayerObj != null)
  { alertLayerObj.style.left = posL+"px";
    alertLayerObj.style.top  = posT+"px";
    alertLayerObj.style.visibility = "visible";
  };
}

function showPopUpAlertXY(X, Y)
{ //docTopPos = document.body.scrollTop;
  //document.body.scrollTop = 0;
  posL = X;
  posT = Y;
  isNS6 = (document.getElementById&&!document.all);
  isIE  = (document.all);
  alertLayerObj = getDocObj("alertLayer");
  if (alertLayerObj != null)
  { alertLayerObj.style.left = posL+"px";
    alertLayerObj.style.top  = posT+"px";
    alertLayerObj.style.visibility = "visible";
  };
}

function hidePopUpAlert()
{ alertLayerObj = getDocObj("alertLayer");
  if (alertLayerObj != null)
  { alertLayerObj.style.visibility = "hidden";
  };
}

function isValidEmailAddress(str)
{
  var at   ="@";
  var dot  =".";
  var lat  =str.indexOf(at);
  var lstr =str.length;
  var ldot =str.indexOf(dot);

  retValue = (!( (str.indexOf(at) == -1) ||
               ((str.indexOf(at) == -1) || (str.indexOf(at) == 0) || (str.indexOf(at) == lstr)) ||
               ((str.indexOf(dot) == -1) || (str.indexOf(dot) == 0) || (str.indexOf(dot) == lstr)) ||
               (str.indexOf(at, (lat+1)) != -1) ||
               ((str.substring(lat-1, lat) == dot) || (str.substring(lat+1, lat+2) == dot)) ||
               (str.indexOf(dot,(lat+2)) == -1) ||
               (str.indexOf(" ") != -1) ||
               (str.lastIndexOf(dot) == (lstr - 1))
               ));

  return (retValue);
}

function add2BookMark(pgId)
{ var favUrl = document.location.href;
  var favTitArr = new Array();
  favTitArr[1] = "eCatalog";
  favTitArr[2] = "Featured Store";
  favTitArr[3] = "Part Lists";
  favTitArr[4] = "Supplier Store";
  var favTit = "iShopMarine.com - "+favTitArr[pgId];
  if (isIeClient)
  { window.external.AddFavorite(favUrl, document.title);
  }
  else
  { alert('Please press Ctrl+D to bookmark this page.');
  };
}

function showUpsTrackResults(trackNo)
{ settings ='height=550,width=800,top=0,left=0,scrollbars=yes,resizable=yes,status=no';
  winURLPg = "http://wwwapps.ups.com/WebTracking/processInputRequest";
  winParam = "?HTMLVersion=5.0&sort_by=status&tracknums_displayed=1&TypeOfInquiryNumber=T&loc=en_US&AgreeToTermsAndConditions=yes&InquiryNumber1="+trackNo;
  winURL   = winURLPg + winParam;
  win = window.open(winURL, 'isShipTrack', settings);
  win.focus();
}

function showFedexTrackResults(trackNo)
{ settings ='height=550,width=800,top=0,left=0,scrollbars=yes,resizable=yes,status=yes';
  winURLPg = "http://www.fedex.com/Tracking";
  winParam = "?tracknumbers="+(trackNo.replace(/ /g, ""));
  winURL   = winURLPg + winParam;
  win = window.open(winURL, 'isShipTrack', settings);
  win.focus();
}

function showUspsTrackResults(trackNo)
{ settings ='height=550,width=800,top=0,left=0,scrollbars=yes,resizable=yes,status=yes';
  winURLPg = "http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do";
  winParam = "?CAMEFROM=OK&strOrigTrackNum="+(trackNo.replace(/ /g, ""));
  winURL   = winURLPg + winParam;
  win = window.open(winURL, 'isShipTrack', settings);
  win.focus();
}

function showDhlTrackResults(trackNo)
{ settings ='height=550,width=800,top=0,left=0,scrollbars=yes,resizable=yes,status=yes';
  winURLPg = "/ishop/tools/trackDHL.htm";
  winParam = "?"+(trackNo.replace(/ /g, ""));
  winURL   = winURLPg + winParam;
  win = window.open(winURL, 'isShipTrack', settings);
  win.focus();
}

/////////////// Text Area Lenth Control Functions begins ////////////////
function initTextAreaField(txtAreaLabel, maxLength, taObj, ccObj)
{ textAreaLabel = txtAreaLabel;
  maxTextLenth  = maxLength;
  textAreaObj   = taObj;
  charCountObj  = ccObj;
  textAreaObj.onfocus=updateRemainingTextLenth;
  textAreaObj.onmousedown=updateRemainingTextLenth;
  textAreaObj.onmouseup=updateRemainingTextLenth;
  textAreaObj.onkeyup=updateRemainingTextLenth;
  textAreaObj.onkeydown=updateRemainingTextLenth;
  textAreaObj.onkeypress=updateRemainingTextLenth;
  textAreaObj.onclick=updateRemainingTextLenth;
  textAreaObj.onblur=validateTextLength;
  charCountObj.onfocus=charCountObjFocus;
  updateRemainingTextLenth();
}

function validateTextLength()
{ if (textAreaObj.value.length > maxTextLenth)
  { alert(textAreaLabel+' cannot be more than '+maxTextLenth+' characters!');
    textAreaObj.focus();
  };
}

function updateRemainingTextLenth()
{ charCountObj.value = maxTextLenth - textAreaObj.value.length;
}

function charCountObjFocus()
{ textAreaObj.focus();
}
/////////////// Text Area Lenth Control Functions ends ////////////////

function showAddressLookupPopUp(reqMemId, reqLName, reqEMail, reqFromCode)
{ reqLookInPrimary = "true";
  reqLookInOrder   = "false";
  reqLookInPreq    = "false";
  var onlineAddressLookupUrl      = "/"+ContextName+"/jsp/AsplIsmAddressLookup.jsp?";
  var onlineAddressLookupUrlParam = "reqMemId="+reqMemId+"&reqLName="+reqLName+"&reqEMail="+reqEMail+"&reqFromCode="+reqFromCode+
                                    "&reqLookInPrimary="+reqLookInPrimary+"&reqLookInOrder="+reqLookInOrder+"&reqLookInPreq="+reqLookInPreq;
  winW = 300;
  winH = 100;
  LeftPosition = (screen.width) ? (screen.width-winW)/2 : 0;
  TopPosition = (screen.height) ? (screen.height-winH)/2 : 0;
  settings ='height='+winH+',width='+winW+',top='+TopPosition+',left='+LeftPosition+',scrollbars=no,resizable=no,status=no';

  addrLookUpFrameObj = getDocObj("addrLookUpFrame");
  addrLookUpFrameObj.src = onlineAddressLookupUrl+onlineAddressLookupUrlParam;
}


var TRange = null
function findString(str)
{ if (parseInt(navigator.appVersion) < 4) return;
  var strFound;
  if (navigator.appName == "Netscape")
  { // NAVIGATOR-SPECIFIC CODE
    strFound=self.find(str);
    if (!strFound)
	{ strFound=self.find(str,0,1)
	  while (self.find(str,0,1)) continue
	}
  }
  if (navigator.appName.indexOf("Microsoft")!=-1)
  { // EXPLORER-SPECIFIC CODE
    if (TRange!=null)
	{ TRange.collapse(false)
      strFound=TRange.findText(str)
      if (strFound) TRange.select()
    }
    if (TRange==null || strFound==0)
    { TRange=self.document.body.createTextRange()
      strFound=TRange.findText(str)
      if (strFound) TRange.select()
    }
  }
  if (!strFound) alert ("String '"+str+"' not found!")
}

function getSelectedIndex4Value(obj, selvalue)
{ var retValue = -1;
  for (i = 0; i <obj.length; i++)
  { if (obj.options[i].value == selvalue)
    { retValue = i;
      break;
    };
  };
  return ( retValue );
}

function isValidZipCode(obj, objCountry, errmsg)
{ var retValue = true;
  countryCode  = "~"+objCountry.options[objCountry.selectedIndex].value+"~";
  obj.value    = isBlank(obj.value)? "-----" : obj.value;
  zipCode = obj.value;

  if ((zipCode.indexOf("--") >= 0) && (zipCodeCountrList.indexOf(countryCode) >= 0))
  { retValue = false;
    alert('Enter Valid Zip Code');
    focusObj(obj, 1);
  }
  else
  { retValue = (isValidZip(obj, objCountry, 'Enter Valid Zip Code'));
  };
  return (retValue);
}

function setCountry4State(stateObj, countryObjName)
{ stateValue  = stateObj.options[stateObj.selectedIndex].value;
  countryObj  = getDocObj(countryObjName);
  defCtryCode = "US";
  switch(stateValue)
  { case "00": //Set Country for Selection
               countryObj.selectedIndex = 0;
               break;
	case "PR": //Set country for Puerto Rico
	           countryObj.selectedIndex = getSelectedIndex4Value(countryObj, "PR");
			   break;
	case "MP": //Set country for Puerto Rico
	           countryObj.selectedIndex = getSelectedIndex4Value(countryObj, "MP");
			   break;

	case ""  : //Set Country for Selection
    default: //Set to US
             defCtryCode = (ca_states.indexOf("~"+stateValue+"~") >= 0)? "CA" : "US";
             countryObj.selectedIndex = getSelectedIndex4Value(countryObj, defCtryCode);
             break;
  };
}

function setState4Country(countryObj, stateObjName)
{ countryValue = countryObj.options[countryObj.selectedIndex].value;
  stateObj  = getDocObj(stateObjName);
  stateCode = stateObj.options[stateObj.selectedIndex].value;
  switch(countryValue)
  { case ""  : stateObj.selectedIndex = 0;
               break;
	case "PR": stateObj.selectedIndex = getSelectedIndex4Value(stateObj, "PR");
               break;
	case "MP": stateObj.selectedIndex = getSelectedIndex4Value(stateObj, "MP");
               break;

	case "CA": stateObj.selectedIndex = (ca_states.indexOf("~"+stateCode+"~")>=0)? stateObj.selectedIndex : 0;
               break;
    case "US": stateObj.selectedIndex = (stateObj.selectedIndex <= 1)? 0 : ((ca_states.indexOf("~"+stateCode+"~")>=0)? 0 : stateObj.selectedIndex);
               break;
    default: //Set to Non-US
             stateObj.selectedIndex = 1;
  };
}

function isValidStrWithMsg(objName, validCharLst, errMsg)
{ var ok = true;
  objs = getDocObjs(objName);
  obj = (objs.length > 0)? objs[0] : objs;
  obj.value = (obj.value).replace(/ /g, "");
  objValue  = obj.value;
  if (!(isBlankStr(objValue)))
  { var valid = validCharLst;
    var temp;
    var Str = objValue;
    for (var i=0; i < Str.length; i++)
    { temp = '' + Str.substring(i, i+1);
      if (valid.indexOf(temp) == '-1') ok = false;
    };
    if (!(ok))
    { alert(errMsg);
      obj.select();
      obj.focus();
    };
  };
  return ( ok );
}

function focusObjFormSubmit(obj)
{ for (var i=0;i < obj.form.elements.length;i++)
  { var e = obj.form.elements[i];
    if (e.type == "submit")
    { e.focus();
      break;
    };
  };
}

function defaultFocusOnObjType(objTypes)
{ var isFocused = false;
  objTypeArr = objTypes.split(",");
  for (var k=0; k < objTypeArr.length; k++)
  { if (!isFocused)
    { objType = objTypeArr[k];
      for (var j=0; j < document.forms.length; j++)
      { if (!isFocused)
        { for (var i=0;i < document.forms[j].elements.length;i++)
          { var e = document.forms[j].elements[i];
            if (e.type == objType)
            { e.focus();
              isFocused = true;
              break;
            };
          };
        };
      };
    };
  };
}

// proper case function (JScript 5.5+)
function toProperCase(s)
{ return s.toLowerCase().replace(/^(.)|\s(.)/g, function($1) { return $1.toUpperCase(); });
}

// proper case string prptotype (JScript 5.5+)
String.prototype.toProperCase = function()
{ return this.toLowerCase().replace(/^(.)|\s(.)/g, function($1) { return $1.toUpperCase(); });
}

function doProperCase(obj)
{ obj.value = (obj.value).toProperCase();
}

function selectcob(cObj)
{ if (cObj!=null) cObj.checked = (!cObj.checked);
}
function selectrob(rObj, idx)
{ if (rObj!=null) rObj[idx].checked = true;
}


/* NEW String Methods trim, normalize, startsWith, endsWith
var str    = " I am a      string ";
str.trim() = "I am a      string";
str.normalize() = "I am a string";
str.stratsWith("I am") = "true";
str.stratsWith("i am") = "false";
str.stratsWith("i am","i") = "true"; // case insensitive
str.endsWith("ing") = "true";
str.endsWith("iNg") = "false";
str.endsWith("InG","i") = "true"; // case insensitive
*/
if ( !(new String).trim ){
	String.prototype.trim = function() { return (""+this).replace(/^\s+|\s+$/g,''); };
}
if ( !(new String).normalize && (new String).trim ){
	String.prototype.normalize = String.prototype.normalise = function() { return (""+this).trim().replace(/\s+/g,' '); };
}
if ( !(new String).startsWith ){
	String.prototype.startsWith = function(str,i){ i=(i)?'i':'';var re=new RegExp('^'+(''+str),i);return ((""+this).normalize().match(re)) ? true : false ; };
}
if ( !(new String).endsWith ){
	String.prototype.endsWith = function(str,i){ i=(i)?'gi':'g';var re=new RegExp((''+str)+'$',i);return ((""+this).normalize().match(re)) ? true : false ; };
}

function loadHeaderFile(filePath, fileType){
 if (fileType=="js"){ //if filePath is a external JavaScript file
  var fileref=document.createElement('script');
  fileref.setAttribute("type","text/javascript");
  fileref.setAttribute("src", filePath);
 }
 else if (fileType=="css"){ //if filePath is an external CSS file
  var fileref=document.createElement("link");
  fileref.setAttribute("rel", "stylesheet");
  fileref.setAttribute("type", "text/css");
  fileref.setAttribute("href", filePath);
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}

//Disable right mouse click Script

function clickIE4()
{ if (event.button==2)
  { return false;
  };
}
function clickNS4(e)
{ if ((document.layers || document.getElementById&&!document.all) && ((e.which==2 || e.which==3)))
  { return false;
  };
}
if (document.layers)
{ document.captureEvents(Event.MOUSEDOWN);
  document.onmousedown=clickNS4;
}
else if (document.all&&!document.getElementById)
{ document.onmousedown=clickIE4;
}
document.oncontextmenu = new Function("return false");

if (parent!=null) parent.document.title = document.title;
