// Replace the images inside the double-quotes to your own images
// You may have any number of images
adImages = new Array("../images_ex/ads/ad1.jpg","../images_ex/ads/ad2.jpg","../images_ex/ads/ad3.jpg","../images_ex/ads/ad4.jpg","../images_ex/ads/ad5.jpg")

// Replace the quotes to inside the double-quotes to your own quotes
// You may have any number of quotes but they must equal the number of images that rotate
quote = new Array("Brass Registers","Airflow Booster","Smoke & Monoxide Alarm","Universal Thermostat","Airflow Booster")

// Please remove this lineand the double-slashes at the beginning of the next line to add links to the rotating images
adURL = new Array ("www.atlantasupply.com/swscripts/NLNETUPD.OBJ?REQR_TYPE=O&REQR_ID=NEW+CUSTOMER&AUTH_ID=+&LOC_NO=001&NL_ORDER_NO=&PROD_CAT_NM=Brass+Registers+Special+Deal&PC=SC&SC=CS&REQUEST_ID=CCATSEL_AS2","www.atlantasupply.com/swscripts/NLNETUPD.OBJ?REQR_TYPE=O&REQR_ID=NEW+CUSTOMER&AUTH_ID=+&LOC_NO=001&STOCK_NO=EQ2&REQUEST_ID=CSTKDET","www.atlantasupply.com/swscripts/NLNETUPD.OBJ?REQR_TYPE=O&REQR_ID=NEW+CUSTOMER&AUTH_ID=+&LOC_NO=001&STOCK_NO=SD12000+++++++++&REQUEST_ID=CSTKDET","www.atlantasupply.com/swscripts/NLNETUPD.OBJ?REQR_TYPE=O&REQR_ID=NEW+CUSTOMER&AUTH_ID=+&LOC_NO=001&STOCK_NO=TS1F85+++++++++&REQUEST_ID=CSTKDET","www.atlantasupply.com/swscripts/NLNETUPD.OBJ?REQR_TYPE=O&REQR_ID=NEW+CUSTOMER&AUTH_ID=+&LOC_NO=001&STOCK_NO=EQ2&REQUEST_ID=CSTKDET")
adURLNL = new Array ("&LOC_NO=001&PROD_CAT_NM=Brass+Registers+Special+Deal&PC=SC&SC=CS&REQUEST_ID=CCATSEL_AS2","&LOC_NO=001&STOCK_NO=EQ2&REQUEST_ID=CSTKDET","&LOC_NO=001&STOCK_NO=SD7000+++++++++&REQUEST_ID=CSTKDET","&LOC_NO=001&STOCK_NO=TS1F85+++++++++&REQUEST_ID=CSTKDET","&LOC_NO=001&STOCK_NO=EQ2&REQUEST_ID=CSTKDET")
// Please remove this line to add links to the rotating images

thisAd = 0
imgCt = adImages.length
quoteCt = quote.length

function rotate() {
  if (document.images) {
    if (document.cycle.complete) {
	  thisAd++
	  if (thisAd == imgCt && thisAd == quoteCt) {
	    thisAd = 0
	  }
	  document.cycle.src = adImages[thisAd];
      window.defaultStatus = quote[thisAd];
	}
// This sets the interval to which the images and quotes are rotated. 1000 equals 1 second
	setTimeout("rotate()", 60000)
  }
}

// Please remove this lineand the double-slashes at the beginning of the next line to add links to the rotating images
function rotateLink() {
var nlsession = getCookie('SESSION_NO');
if ((nlsession == null) || (nlsession.length < 2))
{
thelink="http://" + adURL[thisAd]
}
else
{
thelink="http://www.gunold.com/swscripts/nlnetupd.obj?SESSION_NO=" + nlsession + adURLNL[thisAd]
}

window.parent.location.href = thelink

}
// Please remove this line to add links to the rotating images

function formpass(theform) {
var nlsession=getCookie('SESSION_NO');
if (nlsession == null)
{
theform.submit();
}
else
{
theform.SESSION_NO.value=nlsession;
theform.REQR_ID.value='98';
theform.submit();
}
}

function setCookie(cName,cValue) {
  //timeout is set per old SW handling - if timeout is 999 the session will stay valid for the entire day but once the date changes to the next day the session is only valid for 999 minutes
  var dDateObj = new Date();
  var sNLTimeoutMinutes = 900;
  //expires = new Date(dYear, dMonth, dDay, 00, 00, "00", "00" );
  expires = new Date(dDateObj.getFullYear(), dDateObj.getMonth(), dDateObj.getDate());
  expires.setDate(expires.getDate() + 1);
  expiresIn = 1000 * 60 * parseInt(sNLTimeoutMinutes); // milliseconds * seconds * minutes 59940000; //this is 999 minutes - prior to rev 15 this is the longest timeout for netlink
  expires.setTime(expires.getTime() + expiresIn)
    //domain = ".whatever.com"
  path= "/"
  document.cookie = cName + "=" + escape(cValue) + "; expires=" + expires.toGMTString() + ";path=/;"; // domain=.whatever.com";
}



function sayCookie(name)
  {
  myval = getCookie(name)
  alert ("Cookie named " + name + " has value: " + myval)
  }

function allCookie()
  {
  myval = document.cookie
  alert (myval)
  }

function getCookie(name)
  {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
    <!--return unescape(dc.substring(begin + prefix.length, end));-->
    myval = unescape(dc.substring(begin + prefix.length, end));
    return myval;
}

function DelCookie(name) {
  //domain = ".gunold.com"
  path= "/"
  document.cookie = name + "=; expires=Thu, 01-Jan-70 00:00:01 GMT" + ";path=/;";// domain=.gunold.com";
}

function MM_swapImgRestore() { //v3.0
   var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
   var d=document;
   if(d.images)
   	{ if
		(!d.MM_p) d.MM_p=new Array();
     	var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
		for(i=0; i<a.length; i++)
     if (a[i].indexOf("#")!=0)
	 { d.MM_p[j]=new Image; d.MM_p[j++].src=a [i];}
	 }
}

function 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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function validateInt(theval, theform, thefield) {
  if (isInteger(theval)) {
      return true;
    }
    {
      alert('This field must be a whole number.')
      eval ('document.' + theform + "." + thefield + ".value = 1");
      return false;
      }

}

function isInteger (s)
   {
      var i;

      if (isEmpty(s))
      if (isInteger.arguments.length == 1) return true;
      else return (isInteger.arguments[1] == true);

      for (i = 0; i < s.length; i++)
      {
         var c = s.charAt(i);

         if (!isDigit(c)) return false;
      }

      return true;
   }

   function isEmpty(s)
   {
      return ((s == null) || (s.length == 0))
   }

   function isDigit (c)
   {
      return ((c >= "0") && (c <= "9"))
   }

function makeRequest(url) {
  var http_request = false;
  http_request = false;

  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      http_request.overrideMimeType('text/xml');
    }
  } else if (window.ActiveXObject) { // IE
    try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {
            try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        return false;
    }
    <!--http_request.onreadystatechange = alertContents;-->
    http_request.open('GET', url, false);
    http_request.send(null);

}

function sendOrderConf(nlorder, mailcc, mailfrom) {
  var mailto = getCookie('email');
  var myurl = "http://www.gunold.com/nlhtml/gu_nlhtml/gunlorder.asp?nlorder=" + nlorder + "&MailTo=" + mailto + "&MailCC=" + mailcc + "&MailFrom=" + mailfrom;
  makeRequest(myurl);
}

function setLink(nlvars1,nlvars2) {
  alert("setLink script is being replaced so this will do nothing.");
}

function returnAttributes(at){
  var arr=[];
  var elem=document.getElementsByTagName('*'), i=0, e;
  while(e=elem[i++]){
    e[at]?arr[arr.length]=e[at]:null;
  }
  return arr;
}

function validateInteger(el) {
  if(!(isInteger(el.value))) {
    alert('This field must be a whole number.')
    el.value = 0;
    return false;
  }
  return true;
}

function loadCenterDiv(Xwidth,Yheight,divid,newclass){
  if(!document.getElementById(divid)) return;
// First, determine how much the visitor has scrolled

var scrolledX, scrolledY;
if( self.pageYoffset ) {
scrolledX = self.pageXoffset;
scrolledY = self.pageYoffset;
} else if( document.documentElement && document.documentElement.scrollTop ) {
scrolledX = document.documentElement.scrollLeft;
scrolledY = document.documentElement.scrollTop;
} else if( document.body ) {
scrolledX = document.body.scrollLeft;
scrolledY = document.body.scrollTop;
}

// Next, determine the coordinates of the center of browser's window

var centerX, centerY;
if( self.innerHeight ) {
centerX = self.innerWidth;
centerY = self.innerHeight;
} else if( document.documentElement && document.documentElement.clientHeight ) {
centerX = document.documentElement.clientWidth;
centerY = document.documentElement.clientHeight;
} else if( document.body ) {
centerX = document.body.clientWidth;
centerY = document.body.clientHeight;
}

// Xwidth is the width of the div, Yheight is the height of the
// div passed as arguments to the function:
var leftoffset = scrolledX + (centerX - Xwidth) / 2;
var topoffset = scrolledY + (centerY - Yheight) / 2;
// The initial width and height of the div can be set in the
// style sheet with display:none; divid is passed as an argument to // the function

var o=document.getElementById(divid);
var r=o.style;
r.position='absolute';
r.top = topoffset + 'px';
r.left = leftoffset + 'px';
r.display = "block";

if(newclass) o.className = newclass;
}

function deleteCookieOld(name) {
	document.cookie = name + "=; expires=Thu, 01-Jan-70 00:00:01 GMT" + ";path=/;";
	deleteCookie("REDIRECT_REQUEST_ID");
}

function deleteCookie(name) {
  var expDate = new Date();
  expDate.setTime(expDate.getTime()-1);
  var cookieValue = getCookie(name);
  document.cookie = name + "=" + cookieValue + "; expires=" + expDate.toGMTString();
}

function validateFormData(objName) {
  if(!objName) {
    if(document.getElementById(objName)) {
       objName=document.getElementById(objName);
    }
    else
    {
      return; //objName should be passed it is not an object nor is the name found so no validation will be done
    }
  }
  var i = 0;
  var sErrors = "";
  for (i=0;i<objName.elements.length;i++) {
    var el = objName.elements[i];
    var elType = el.type;
    if (elType=="text" || elType=="password" || elType=="textarea" || elType=="select-one" || elType=="checkbox" || elType=="select" || elType=="radio" ) {
      //if(el.getAttribute("required")!=null || el.getAttribute("required")!="false" || el.getAttribute("required") !="no") {
        sResponse = validateData(el);
        if (sResponse != true) {
          sErrors = sErrors + "\r\n" + sResponse;
      //}
      }
    }
  }

  if (sErrors.length > 0) {
    alert(sErrors);
    return false;
  }
  return true;
}

function validateData(objName) {
  if(!objName) {
    if(document.getElementById(objName)) {
       objName=document.getElementById(objName);
    }
    else
    {
      return; //objName should be passed it is not an object nor is the name found so no validation will be done
    }
  }
  //init vars for valiation properties
  var sField = objName;
  var sValue = sField.value;
  var iMinQty = sField.getAttribute("minqty");
  var iMaxQty = sField.getAttribute("maxqty");
  if(!sField.getAttribute("validation")) {
    var sValidation = sField.getAttribute("validation");
  }
  if(sField.getAttribute("vdate")) {
    var sValidation = sField.getAttribute("vdate");
  }
  if(sField.getAttribute("validate")) {
    var sValidation = sField.getAttribute("validate");
  }
  var sRefName = sField.getAttribute("RefName");
  var iMinLen = sField.getAttribute("minlen");
  var iMaxLen = sField.getAttribute("maxlen");
  var sMatches = sField.getAttribute("matches");
  var sValidated;
  if (!(sRefName)) {
    sRefName = objName.name;
  }
  //required
  if (objName.getAttribute("required")!=null && sValue.length == 0 && objName.getAttribute("required")!="false" && objName.getAttribute("required")!="no") {
    return sRefName + " is required.";
  }

  //mmyy - date
  if(sValidation=="mmyy") {
    sValidated = validateMMYY(sValue);
    if(!sValidated) return sRefName + " - Invalid Date Format - Must be in  MMYY format";
  }

  //validation method
  if (sValidation == "phone") {
    sValidated = checkInternationalPhone(sValue);
    if (!(sValidated)) {
      var sRegEx = RegExp("fax","gi");
      if(sRefName.search(/fax/gi)!=-1) {
        return sRefName + " - Invalid Fax Number";
      }
      else
      {
        return sRefName + " - Invalid Phone Number";
      }
    }
  }

  if (sValidation == "email") {
    sValidated = validateEmail(sField);
    if (!(sValidated)) return sRefName + " - Invalid Email Address";
  }

  //integer
  if (sValidation == "integer") {
    sValidated = isInteger(sValue);
    if (!(sValidated)) return sRefName + " must be a whole number";
  }

  //integer
  if (sValidation == "number") {
    if (isNaN(parseFloat(sValue))) return sRefName + " must be a number";
  }

  //minlen

  if (iMinLen && parseFloat(sValue.length) < parseFloat(iMinLen)) {
    return sRefName + " must be at least " + iMinLen + " characters.";
  }

  //matches other field
  if (sMatches && sValue != document.getElementById(sMatches).value) {
    return "The passwords do not match."
  }

  if (sValidation == "alphanumeric") {
    sValidated = isAlphanumeric(sField);
    if (!(sValidated)) return sRefName + " must only contain letters (A-Z, a-z) and numbers (0-9).";
  }
  return true;
}

function validateEmail(objName) {
  if(!objName) {
    if(document.getElementById(objName)) {
       objName=document.getElementById(objName);
    }
    else
    {
      return; //objName should be passed it is not an object nor is the name found so no validation will be done
    }
  }
  var value = objName.value;
  var sInvalid
	var at="@"
	var dot="."
	var lat=value.indexOf(at)
  var lstr=value.length
  var ldot=value.indexOf(dot)
  if (value.indexOf(at)==-1){
    var sInvalid = "true"
  }

	if (value.indexOf(at)==-1 || value.indexOf(at)==0 || value.indexOf(at)==lstr){
   var sInvalid = "true"
	}

	if (value.indexOf(dot)==-1 || value.indexOf(dot)==0 || value.indexOf(dot)==lstr){
    var sInvalid = "true"
	}

	 if (value.indexOf(at,(lat+1))!=-1){
    var sInvalid = "true"
	 }

	 if (value.substring(lat-1,lat)==dot || value.substring(lat+1,lat+2)==dot){
    var sInvalid = "true"
	 }

   if (value.indexOf(dot,(lat+2))==-1){
    var sInvalid = "true"
	 }

	 if (value.indexOf(" ")!=-1){
    var sInvalid = "true"
	 }
   if (sInvalid && objName.type != "hidden") {
    objName.blur();
    objName.focus();
    return false
  }
  return true
}

var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function checkInternationalPhone(strPhone){
  var bracket=3
  strPhone=trim(strPhone)
  if(strPhone.indexOf("+")>1) return false
  if(strPhone.indexOf("-")!=-1)bracket=bracket+1
  if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
  var brchr=strPhone.indexOf("(")
  if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
  if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
  s=stripCharsInBag(strPhone,validWorldPhoneChars);
  return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}


function splitAddressSelect(objName, divID) {
  if(!((objName))) return false;
  var opt = objName.selectedIndex;
  if(!(objName.options[opt].getAttribute("dispvalue"))) return false;
  var sDispValue = objName.options[opt].getAttribute("dispvalue");
  var arrDispValue = new Array();
  arrDispValue = sDispValue.split("~");
  var sFormattedAddress = "";

  for(var i=0;i<arrDispValue.length;i++) {
    sCurValue = arrDispValue[i]
    if(stripWhitespace(sCurValue).length>0) {
      sFormattedAddress += sCurValue;
      if(i<4) sFormattedAddress += "<br />";
      if(i==4) sFormattedAddress += " ";
      if(i==5) sFormattedAddress += " ";
    }
  }
  setDivHTML(divID,sFormattedAddress);
}

function setDivHTML(sDivID,sNewHTML) {
if(!(document.getElementById(sDivID))) return false;
  var objName = document.getElementById(sDivID);
  var sCurClass = objName.getAttribute("class");
  var sCurID = objName.getAttribute("id");
  var sCurName= objName.getAttribute("name");
  var oParent = objName.parentNode;
  var sNewSpan = document.createElement("span");
  for(var i=0;i<objName.attributes.length;i++){
    if(objName.attributes[i].specified){
      var attr = document.createAttribute(objName.attributes[i].nodeName)
      attr.nodeValue = objName.attributes[i].nodeValue;
      sNewSpan.setAttributeNode(attr);
    }
  }
  sNewSpan.innerHTML = sNewHTML
  objName.parentNode.replaceChild(sNewSpan, objName);
}


function setDivHTMLOld(sDivID,sNewHTML) {
if(!(document.getElementById(sDivID))) return false;
  var objName = document.getElementById(sDivID);
  var oParent = objName.parentNode;
  var sNewSpan = document.createElement("span");
  sNewSpan.innerHTML = sNewHTML
  objName.parentNode.replaceChild(sNewSpan, objName);
}

function stripWhitespace(sValue) {
  if(!(sValue)) return;
  return sValue.replace(/\s+/g,'');
}

function clearQTYSpaces() {
  var allInputs = document.getElementsByTagName("input")
  for(i=0;i<allInputs.length;i++) {
    if(allInputs[i].type == "text" || allInputs[i].type == "hidden") {
      var sVdate = allInputs[i].getAttribute("vdate");
      if (sVdate == "integer" || sVdate == "number" || sVdate == "email" || sVdate == "mmyy") {
        allInputs[i].value = allInputs[i].value.replace(/\s+/g,'');
     	}
	   }
  }

 /* var allSpan = document.getElementsByTagName("span")
  for(i=0;i<allSpan.length;i++) {
    var sClearSpaces = allSpan[i].getAttribute("clearQTYSpaces");
    if(sClearSpaces != null) {
      allSpan[i].innerHTML = allSpan[i].innerHTML.replace(/\s+/g,'');
    }
	}
	*/
}

function clearInputSpaces() {
  var allInputs = document.getElementsByTagName("input")
  for(i=0;i<allInputs.length;i++) {
    if(allInputs[i].type == "text" || allInputs[i].type == "hidden" && allInputs[i].value == " ") {
      allInputs[i].value = allInputs[i].value.replace(/\s+/g,'');
    }
  }
}

function clearInvalidMMYY() {
  var allInputs = document.getElementsByTagName("input")
  for(i=0;i<allInputs.length;i++) {
    if(allInputs[i].type == "text" || allInputs[i].type == "hidden") {
      var sVdate = allInputs[i].getAttribute("vdate");
      if (sVdate == "mmyy" && !validateMMYY(allInputs[i].value)) {
        allInputs[i].value = "";
     	}
	   }
  }
}

function validateMMYY(sValue) {
  if(sValue.length != 4) return false;
  var sMonth, sYear
  sMonth = sValue.substring(0,2);
  sYear = sValue.substring(2,4);
  if(isMonth(sMonth) && isYear(sYear)) return true;
  return false;
}

function isMonth(sValue) {
  if(sValue.length != 2) return false;
  if(sValue>=1 && sValue<=12 && isInteger(sValue)) return true;
  return false;
}

function isYear(sValue) {
  if(sValue.length != 2) return false;
  if(isInteger(sValue)) return true;
  return false
}

function showDiv(id) {
  if (document.getElementById(id)) {
    document.getElementById(id).setAttribute("class", "showdiv");
    document.getElementById(id).style.display = "inline";
  }
}

function hideDiv(id) {
  if (document.getElementById(id)) {
    document.getElementById(id).style.display="none";
    document.getElementById(id).setAttribute("class","hidediv");
    document.getElementById(id).className = "hidediv";
  }
}

function validateLogin(objForm) {
  var sValidated = validateFormData(objForm);
  if(!(sValidated)) return false;
  var sReqrID = document.getElementById("LOGON_REQR_ID").value;
  var sAuthID = document.getElementById("LOGON_AUTH_ID").value;
  var sLogonCompany = document.getElementById("LOGON_CO_ID").value;
  url = objForm.action + "?REQUEST_ID=EXVDATELOGIN&REQR_TYPE=C&REQR_ID=" + sReqrID + "&AUTH_ID=" + sAuthID + "&CO_ID=" + sLogonCompany;
  sResponse = ajaxRequest(url);

  if(sResponse.substr(0,2) == "OK") {
	 return true;
	 }
	 else
	{

	setDivHTML("login_results", "Invalid User/Pass");
  showDiv("login_results");
	appendDivClass("login_results", "error");
	return false;
	}
}

function setDivValue(sDivID, sValue) {
  if(document.getElementById(sDivID)) {
    document.getElementById(sDivID).value=sValue;
  }
}

function ajaxRequest(url) {
	if(document.getElementById("ajaxresults")) {
		document.getElementById("ajaxresults").innerHTML=url;
}
http_request = false;

if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
        http_request.overrideMimeType('text/xml');
    }
} else if (window.ActiveXObject) { // IE
    try {
        http_request = new ActiveXObject("Msxml2.ServerXMLHTTP.4.0");
    } catch (e) {
        try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
    }
}

if (!http_request) {
    alert('Giving up :( Cannot create an XMLHTTP instance');
    return false;
}


http_request.onreadystatechange = ajaxResponse;
http_request.open('GET', url, false);

http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request.send(null);
return(http_request.responseText);

}

function ajaxRequestPost(url) {
	if(document.getElementById("ajaxresults")) {
		document.getElementById("ajaxresults").innerHTML=url;
  }
http_request = false;

if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
        http_request.overrideMimeType('text/xml');
    }
} else if (window.ActiveXObject) { // IE
    try {
        http_request = new ActiveXObject("Msxml2.ServerXMLHTTP.4.0");
    } catch (e) {
        try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
    }
}

if (!http_request) {
    alert('Giving up :( Cannot create an XMLHTTP instance');
    return false;
}
var qsArr = url.split("?");
var params = qsArr[1];

http_request.open('POST', url, true);
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http_request.setRequestHeader("Content-length", params.length);
http_request.setRequestHeader("Connection", "close");

http_request.send(params);
http_request.onreadystatechange = function() {//Call a function when the state changes.
	if(http_request.readyState == 4 && http_request.status == 200) {
    return(http_request.responseText);
	}
}
}

function ajaxResponse() {

if (http_request.readyState == 4) {
    if (http_request.status == 200) {
        var xmldoc = http_request.responseXML;
        var pagedata = http_request.responseText;
        var ptags = xmldoc.getElementsByTagName('response');
        var x = http_request.responseXML.getElementsByTagName('p');
   } else {
        alert('There was a problem with the request.');

   }
}
}

function appendDivClass(id,newclass) {
if(!(document.getElementById(id))) return;
  document.getElementById(id).className = newclass + " " + document.getElementById(id).className;
}

function isNumeric(sValue) {
  if(isNaN(sValue)) {
    return false;
  }
  return true;

}

function logoffNL() {
  setCookie("SESSION_NO", "null");
  setCookie("NL_ORDER_NO", "null");
  setCookie("REQR_TYPE","O");
  setCookie("REQR_ID", "NEW CUSTOMER");
  setCookie("CART_NO_ITEMS", "0");
  setCookie("CART_TOTAL_AMT", "0");
  setCookie("SMAN_EMAIL", "null");
  setDivValue("GVAR_SESSION_NO", "null");
  setDivValue("GVAR_REQR_TYPE", "O");
  setDivValue("SESSION_SALESREP_EMAIL", null);
  setDivValue("GVAR_CART_TOTAL_AMT", "0");
  setDivValue("GVAR_CART_NO_ITEMS", "0");
  deleteCookie("SESSION_NO");
}

function ajaxFormPost(objName,url,resultsID,row) {
  if(!objName) {
    objName = document.getElementById(objName);
  }

  validateFormData(objName);

  if (!(objName)) {
    return false;
  }

  if (url.indexOf("?") == -1) {
    url = url + "?"
  }
  else
  {
    url = url + "&"
  }

  for (i=0;i<objName.elements.length;i++) {
    var el = objName.elements[i];
    var varName = el.name.replace(row,'');
    var elType = el.type;
    if (elType == "text" || elType == "password" || elType == "textarea" || elType == "select" || elType == "checkbox" || elType == "hidden" || elType == "select-one") {
      url = url + varName + "=" + el.value + "&";
    }
  }
  var sResponseText = ajaxRequest(url);
  return sResponseText;
}
function validStockNumber(oForm, oStockID, sResultsID) {
  if(!document.getElementById(oStockID)) return false;
  var sStockID = document.getElementById(oStockID).value;
  var sCoID = "@VAR_CO_ID_@";
  var sLocNo = "@VAR_LOC_NO_@";
  if(sCoID.search(/VAR/gi) != -1) {
    sCoID = sVarCOIdReplace;
  }
  if(sLocNo.search(/VAR/gi) != -1) {
    sLocNo = sVarLocNOReplace;
  }
  var url = "http://" + sVarFormActionURLReplace + "REQUEST_ID=EXVDATESTOCK&STOCK_NO=" + sStockID + "&LOC_NO=" + sLocNo + "&CO_ID=" + sCoID;
  sResponse = ajaxRequest(url);
  if(sResponse.substring(0,4) == "NULL") {
    setDivHTML(sResultsID, "Item not Found");
    return false;
  }
  return true;
}

function addStockNumber(oForm) {
  if(!oForm) return false;
  var sCoID = "@VAR_CO_ID_@";
  var sLocNo = "@VAR_LOC_NO_@";
  if(sCoID.search(/VAR/gi) != -1) {
    sCoID = sVarCOIdReplace;
  }
  if(sLocNo.search(/VAR/gi) != -1) {
    sLocNo = sVarLocNOReplace;
  }
  var url = oForm.elements.URL.value;
  for(var i=0;i<oForm.elements.length;i++) {
    if(oForm.elements[i].name != "URL") {
      url += oForm.elements[i].name + "=" + oForm.elements[i].value + "&";
    }
  }

  //var url = "http://@VAR_FORM_ACTION_URL_@/nl/nlnetupd.obj?REQUEST_ID=EXVDATESTOCK&STOCK_NO=" + el.value + "&LOC_NO=" + sLocNo + "&CO_ID=" + sCoID;

  sResponse = ajaxRequest(url);
  var sResultsID = oForm.elements.RESULTS_ID.value;
  var sStockID = oForm.elements.STOCK_NO.value;
  if(sResponse.substring(0,4) == "NULL") {
    setDivHTML(sResultsID, "Stock Number not found!");
    document.getElementById("STOCK_NO").focus();
  }
  else
  {
    var sTableID = oForm.elements.TARGET_TABLE.value;
    //var iQty = oForm.elements.QTY.value;
    if(document.getElementById(sTableID)) {
      oTable = document.getElementById(sTableID);
      var arrExistingStock = new Array();
      arrExistingStock = oTable.getElementsByTagName("INPUT");
      for(var iCheckDupe=0;iCheckDupe<arrExistingStock.length;iCheckDupe++) {
        var sRegEx = new RegExp(sStockID,"gi");
        var elName = arrExistingStock[iCheckDupe].name;
        if(elName) {
          if(elName.search(sRegEx) != -1) {
            setDivHTML(sResultsID, "Item Number already added!");
            var elTD = arrExistingStock[iCheckDupe].parentNode;
            var elTR = elTD.parentNode;
            elTR.className = "highlight";
            //appendClass(arrExistingStock[iCheckDupe], "highlight");
            return;
          }
        }
      }
      setDivHTML(sResultsID, "Item Number Added!");
      var tTable = document.getElementById(sTableID);
      var sRowID = sStockID + "_" + tTable.rows.length;
      var tBody = document.getElementById(sTableID).getElementsByTagName("tbody")[0];
      var tRow = document.createElement("tr", null);

      //Add "Delete" button
      var tdDelete = document.createElement("td", null)
      tdDelete.innerHTML = "<input type='button' onclick=\"removeTableRow('" + sRowID + "')\" class='button' value='Delete' />";
      tRow.appendChild(tdDelete);

      tRow.setAttribute("id", sRowID);
      var arrResponse = new Array();
      arrResponse = sResponse.split("~");
      for(var i=1;i<arrResponse.length;i++) {
        var td1 = document.createElement("td", null)
        td1.innerHTML = arrResponse[i];
        tRow.appendChild(td1);
      }
      tBody.appendChild(tRow);
    }
  }
}

function ajaxAddItem(oForm) {
  if(!oForm) return false;
  var sResellerValid = checkResellerStatusPost(oForm);
  if(!sResellerValid) return false;
  var sValidated = validateFormData(oForm);
  if(!sValidated) return;

  var sCoID = "@VAR_CO_ID_@";
  var sLocNo = "@VAR_LOC_NO_@";
  if(sCoID.search(/VAR/gi) != -1) {
    sCoID = sVarCOIdReplace;
  }
  if(sLocNo.search(/VAR/gi) != -1) {
    sLocNo = sVarLocNOReplace;
  }
  var url = oForm.elements.URL.value;
  var sValidateStockURL = url;
  var sAjaxPostURL = url;
  for(var i=0;i<oForm.elements.length;i++) {
    if(oForm.elements[i].name != "URL")  {
      if(oForm.elements[i].name == "VALIDATE_STOCK_REQUEST_ID") {
        sValidateStockURL += "REQUEST_ID=" + oForm.elements[i].value + "&";
      }
      else
      {
      sValidateStockURL += oForm.elements[i].name + "=" + oForm.elements[i].value + "&";
      }
    }
  }

  for(var i=0;i<oForm.elements.length;i++) {
    if(oForm.elements[i].name != "URL") {
      if(oForm.elements[i].name == "AJAX_POST_REQUEST_ID") {
        sAjaxPostURL += "REQUEST_ID=" + oForm.elements[i].value + "&";
      }
      else
      {
      sAjaxPostURL += oForm.elements[i].name + "=" + oForm.elements[i].value + "&";
      }
    }
  }

  //var url = "http://@VAR_FORM_ACTION_URL_@/nl/nlnetupd.obj?REQUEST_ID=EXVDATESTOCK&STOCK_NO=" + el.value + "&LOC_NO=" + sLocNo + "&CO_ID=" + sCoID;

  var sValidateResponse = ajaxRequest(sValidateStockURL);

  var sValidateResultsID = oForm.elements.VALIDATE_RESULTS_ID.value;
  var sAjaxPostResultsID = oForm.elements.AJAX_POST_RESULTS_ID.value;
  var sStockID = oForm.elements.STOCK_NO.value;
  if(sValidateResponse.substring(0,4) == "NULL") {
    setDivHTML(sValidateResultsID, "Stock Number " + sStockID + " not found!");
    document.getElementById("STOCK_NO").focus();
    document.getElementById("STOCK_NO").value = "";
    document.getElementById("ITEM_QTY").value = "";
    document.getElementById(sValidateResultsID).setAttribute("class","ajaxerror");

  }
  else
  {
    var iQty = oForm.elements.ITEM_QTY.value;
    var sAjaxPostResponse = ajaxRequest(sAjaxPostURL);
    setDivHTML(sAjaxPostResultsID, sAjaxPostResponse);
    setDivHTML(sValidateResultsID, "Item #" + sStockID + " added to Order!");
    setDivValue("STOCK_NO", '');
    setDivValue("ITEM_QTY", '');
    document.getElementById(sValidateResultsID).setAttribute("class","ajaxsuccess");

    if(document.getElementById("AJAX_CART_NO_ITEMS") && document.getElementById("CART_NO_ITEMS")) {
      setDivHTML("CART_NO_ITEMS", document.getElementById("AJAX_CART_NO_ITEMS").value);
    }
    if(document.getElementById("AJAX_CART_TOTAL_AMT") && document.getElementById("CART_TOTAL_AMT")) {
      setDivHTML("CART_TOTAL_AMT", document.getElementById("AJAX_CART_TOTAL_AMT").value);
    }

  }
}

function removeTableRow(rowID) {
  if(document.getElementById(rowID)) {
    var oldDiv = document.getElementById(rowID);
    oldDiv.parentNode.removeChild(oldDiv);
  }
}

function appendClass(el, sClassName) {
  if(el) {
    el.className = el.className + " " + sClassName;
    alert(el.className);
  }
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function ajaxLoadDiv(url,id) {
  if(!url || !id) return false;
  if(document.getElementById(id)) {
    var ResponseText = ajaxRequest(url);
    document.getElementById(id).innerHTML = ResponseText;
  }
}

function setDefaultShipTo() {
  var cShipToId = getCookie("SHIP_TO_ID");
  if(cShipToId && divExists("SHIP_TO_SELECT")){
    var selObj = document.getElementById("SHIP_TO_SELECT");
    for(i=0;i<selObj.options.length;i++) {
      if(selObj.options[i].value == cShipToId) {
        selObj.selectedIndex = i;
	      splitAddressSelect(document.getElementById("SHIP_TO_SELECT"), "CurrentShipTo");
	      setDivValue("SHIP_TO_ID", document.getElementById("SHIP_TO_SELECT").value);
        break;
      }
   }
  }
}

function setDefaultBillTo() {
  var cBillToId = getCookie("BILL_TO_ID");
  if(cBillToId && divExists("BILL_TO_SELECT")){
    var selObj = document.getElementById("BILL_TO_SELECT");
    for(i=0;i<selObj.options.length;i++) {
      if(selObj.options[i].value == cBillToId) {
        selObj.selectedIndex = i;
	      splitAddressSelect(document.getElementById("BILL_TO_SELECT"), "CurrentBillTo");
	      setDivValue("BILL_TO_ID", document.getElementById("BILL_TO_SELECT").value);
        break;
      }
   }
  }
}

function divExists(id) {
  var divObj = document.getElementById(id);
  if (!(divObj)) return false;
  return true;
}

function formatDecimal(sValue) {
  if(!sValue || sValue.length == 0) return;
  return sValue.replace(/\,/g,'');
}

function saveRequestIDOld() {
  var sURL = window.location.href;
  var sRegEx = new RegExp("REQUEST_ID", "gi");
  var sQS = new Array();
  sQS = sURL.split("?");
  if(sQS.length>1) {
    var arrQS = sQS[1].split("&");
    for(i=0;i<arrQS.length;i++) {
      var arrQSVar = arrQS[i].split("=");
      if(arrQSVar[0].search(sRegEx) != -1 && arrQSVar.length>1) {
        setCookie("REDIRECT_REQUEST_ID", arrQSVar[1]);
      }
    }
  }
}

function saveRequestID() {
  var sURL = window.location.href;
  setCookie("REDIRECT_REQUEST_ID", sURL);
}

function loadSavedRequestID() {
  var url = getCookie("REDIRECT_REQUEST_ID");
  setCookie("REDIRECT_REQUEST_ID", "");
  deleteCookie("REDIRECT_REQUEST_ID");

  var sRegExp = new RegExp("http","gi")
  if(url==null) return;
  if(url.search(sRegExp)!=-1 && url!= null) {
    var sRegExp = new RegExp("EXCSTKRECENT", "gi")
    if(url.search(sRegExp)!=-1) {
    //alert("b4:" + url);
      url = changeURLVariable(url, "REQR_TYPE", "C");
      url = changeURLVariable(url, "SESSION_NO", getCookie("SESSION_NO"));
      url = stripURLVariable(url, "AUTH_ID");
      url = stripURLVariable(url, "REQR_ID");
    //alert("after:" + url);
    }
    window.location.href=url;
  }

}

function addCommas(nStr) {
  nStr += '';
  x = nStr.split('.');
  x1 = x[0];
  x2 = x.length > 1 ? '.' + x[1] : '';
  var rgx = /(\d+)(\d{3})/;
  while (rgx.test(x1)) {
    x1 = x1.replace(rgx, '$1' + ',' + '$2');
  }
  return x1 + x2;
}

function confirmChanges() {
  if(!document.getElementById("formdirty")) return true;
  var oDirty = document.getElementById("formdirty")
  if(oDirty.value=="dirty") {
  var sConfirm = confirm("You have modified items on this page.\r\nIf you leave the page prior to adding the items to the cart your changes will not be saved.\r\n\r\nDo you want to abandon changes to this page?");
    if(sConfirm==false) {
      return false;
    }
  }
    return true;
}

function getInputValue(sObjType, sObjName) {
 var sReturn = null;
 var els = document.getElementsByTagName("input");
 for(i=0;i<els.length;i++) {
  if(els[i].name==sObjName && els[i].type==sObjType) {
    sReturn = els[i].value;
    i=els.length;
  }
 }
 return sReturn;
}

function changeURLVariable(sLink, sVariable, sValue) {
  var sRegEx = new RegExp(sVariable,"gi");
  if(sLink.search(sRegEx) != -1) {
    var sLinkParts = sLink.split("?");
    var sLinkBase = sLinkParts[0] + "?"
    var sNewQueryString = "";
    var sQueryString = sLinkParts[1];
    var arrQSVars = sQueryString.split("&");
    for(var i=0;i<arrQSVars.length;i++) {
      var arrQSItems = arrQSVars[i].split("=");
      var sQSVar = arrQSItems[0];
      var sQSValue = arrQSItems[1];
      if(arrQSItems[0].search(sRegEx) != -1) {
        sQSValue=sValue;
      }
      sNewQueryString = sNewQueryString + "&" + sQSVar + "=" + sQSValue;
    }
    return sLinkBase + sNewQueryString;
  }
  else
  {
    return sLink + "&" + sVariable + "=" + sValue;
  }
}


function buildNLPageNav() {
  var iCurrentRecordStart = parseFloat(getInputValue("hidden", "RM_OUT_CURR"));
  if(!document.getElementById("report_paging")) {
    if(iCurrentRecordStart>0) {
      var oPagingDiv = document.getElementById("PagingDiv");

      var oLink = document.createElement("a");
      oLink.innerHTML = "Previous Page"
      oLink.setAttribute("href", "javascript:history.back();");
      oLink.onclick= function() {return confirmChanges();};
      oPagingDiv.appendChild(oLink);

      var oPageCount = document.createElement("div");
      oPageCount.setAttribute("id", "pagecount");
      oPageCount.setAttribute("class", "center");
      oPagingDiv.appendChild(oPageCount);

      var oPageJump = document.createElement("div");
      oPageJump.setAttribute("id", "pagejump");
      oPageJump.setAttribute("class", "center");
      oPagingDiv.appendChild(oPageJump);

      var oReportPaging = document.createElement("div");
      oReportPaging.setAttribute("id", "report_paging");
      oReportPaging.setAttribute("class", "center");
      oPagingDiv.appendChild(oReportPaging);

    }
  }

  var iRecordCount = ajaxRequest("http://www.gunold.com/nl/NLNETUPD.OBJ?REQUEST_ID=EXINQCATCOUNT&PROD_CAT=" + getLinkVariable(window.location.href,"PROD_CAT") + "&LOC_NO=GA&CO_ID=GU\\");

  if(!isNaN(iRecordCount)) {
     //alert("Current Record Start: " + iCurrentRecordStart);
    if(document.getElementById("NLNextPage")) {
     var iRecordLimit = parseFloat(getLinkVariable(document.getElementById("NLNextPage").href, "RM_OUT_LIMIT").replace("+", ""));
    }
    else
    {
      var iRMOutLimit = getLinkVariable(window.location.href, "RM_OUT_LIMIT");
      if(typeof iRMOutLimit != "undefined") {
        var iRecordLimit = parseFloat(iRMOutLimit.replace("+", ""));
      }
 }
    //alert("RM Record Limit: " + iRecordLimit);
    var sCurrentPageNumber = (iCurrentRecordStart - 1) / iRecordLimit;
    if(isNaN(sCurrentPageNumber)) sCurrentPageNumber = 1;
    //alert("Current Page Number:"  + sCurrentPageNumber);
    var iTotalPages = Math.ceil(iRecordCount / iRecordLimit);
    if(isNaN(iTotalPages)) iTotalPages = 1;
    if(document.getElementById("pagecount")) {
      var oPageCount = document.getElementById("pagecount");
      oPageCount.innerHTML = "Page " + sCurrentPageNumber + " of " + iTotalPages
    }
    //build select
    if(document.getElementById("pagejump")) {
      var oPageJump = document.getElementById("pagejump");
      var oPageSelect = document.createElement("select");
      oPageSelect.setAttribute("name","PageSelect");
      oPageSelect.setAttribute("id","PageSelect");
      oPageSelect.onchange = function() {if (confirmChanges()) window.location = this.value;};
      for(i=1;i<=iTotalPages;i++) {
        oPageOption = document.createElement("option");
        oPageOption.setAttribute("value", changeURLVariable(window.location.href, "RM_OUT_CURR", ((i -1) * iRecordLimit) + 1));
        oPageOption.innerHTML = "Page " + i, (iRecordLimit * i) + 1;
        oPageSelect.appendChild(oPageOption);
      }
      oPageSelect.selectedIndex = sCurrentPageNumber - 1
      var oPageSelectText = document.createElement("span")
      oPageSelectText.innerHTML = "Go to page "
      oPageJump.appendChild(oPageSelectText);
      oPageJump.appendChild(oPageSelect);

    }
  }
}

function getLinkVariable(sLink, sVariable) {
  var sRegEx = new RegExp(sVariable,"gi");
  var sQueryString = sLink.substring(1);
  var arrQSVars = sQueryString.split("&");
  for(var i=0;i<arrQSVars.length;i++) {
    var arrQSItems = arrQSVars[i].split("=");
    if(arrQSItems[0].search(sRegEx) != -1) {
      return (arrQSItems[1]);
    }
  }
}
function stripURLVariable(sURL, sVarName) {
  var sRegEx = new RegExp(sVarName, "gi");
  var sQS = new Array();
  sQS = sURL.split("?");
  var sNewQS = sQS[0];
  if(sQS.length>1) {
    var arrQS = sQS[1].split("&");
    sNewQS = sNewQS + "?";
    for(i=0;i<arrQS.length;i++) {
      var arrQSVar = arrQS[i].split("=");
      if(arrQSVar[0].search(sRegEx) == -1 && arrQSVar.length>1) {
        sNewQS = sNewQS + arrQSVar[0] + "=" + arrQSVar[1] + "&";
      }
    }
  }
  return sNewQS;
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}


