

  var http = false;

  function aj_request(request_url, param_string, divName, autoFit, loader)
  {
    http = false;
		if(loader == ''){loader = 'true';}
		var daDiv = document.getElementById(divName);

		// display loading graphic
		if(loader != 'false')
		{
			var tempColor  = document.getElementById(divName).style.backgroundColor;
			var tempHeight = document.getElementById(divName).offsetHeight;
			var tempWidth  = document.getElementById(divName).offsetWidth;

			if(tempHeight < 40)
			{
				tempHeight = 40;
				daDiv.style.height = tempHeight + 'px';
			}

			daDiv.innerHTML = "<div id=\"" + divName + "_object_loader\" style=\"height: " + tempHeight + "px; width: " + tempWidth + "px; position: absolute;\"><div id=\"" + divName + "_object_loader_inner\" style=\"height: " + tempHeight + "px; width: " + tempWidth + "px; position: absolute;\"></div></div>" + document.getElementById(divName).innerHTML;
			daDiv.style.cursor = 'wait';
			document.getElementById(divName + '_object_loader').style.overflow = 'hidden';
			document.getElementById(divName + '_object_loader').style.backgroundImage = 'url(https://graphics.harperjames.com/novus/dobject_loader_back.png)';
			document.getElementById(divName + '_object_loader_inner').style.width = '100%';
			document.getElementById(divName + '_object_loader_inner').style.backgroundImage = 'url(https://graphics.harperjames.com/novus/dobject_loader.gif)';
			document.getElementById(divName + '_object_loader_inner').style.backgroundRepeat = 'no-repeat';
			document.getElementById(divName + '_object_loader_inner').style.backgroundPosition = 'center';
			document.getElementById(divName + '_object_loader_inner').style.zIndex = 500;
		}

    if (window.XMLHttpRequest)
    {
      var http = new XMLHttpRequest();

      if (http.overrideMimeType)
      {
        http.overrideMimeType('text/xml');
      }
    }
    else if (window.ActiveXObject)
    {
      try
      {
        var http = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch (e)
      {
        try
        {
          var http = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e)
        {
        }
      }
    }

    if(!http){alert('Sorry Browser Not Compatible');}

    var url = request_url;
    var params = param_string;
    http.open("POST", url, true);

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", params.length);
    http.setRequestHeader("Connection", "close");

    http.onreadystatechange = function()
    {
      if(http.readyState == 4 && http.status == 200)
      {
        //alert(http.responseText);
        //alert(divName);
				if(loader != 'false')
				{
					daDiv.style.backgroundColor = tempColor;
					if(autoFit == 'true')
					{
						daDiv.style.height = 'auto';
					}

					daDiv.style.cursor = '';
				}

        daDiv.innerHTML = http.responseText;
    	}
			else if(http.readyState == 4 && http.status == 404)
			{
				daDiv.innerHTML = '<p>Unable to find ajax resource.</p>';
			}
			else if(http.readyState == 4)
			{
				daDiv.innerHTML = '<p>Unable to load result.</p>';
			}
    }

    http.send(params);
  }

  function closeWindow(divName)
  {
    document.getElementById(divName).style.display = 'none';
  }

  function add_user_address(id, url)
  {
		var default_check = document.getElementById('default');
		if(default_check.checked == true){default_check = 'Yes';}else{default_check = 'No';}

    var post_string = 'id=' + id + '&' +
                      'act=add_address&line_1=' + escape(document.getElementById('line_1').value) +
                      '&line_2=' + escape(document.getElementById('line_2').value) +
                      '&city=' + escape(document.getElementById('city').value) +
                      '&region=' + escape(document.getElementById('region').value) +
                      '&country=' + escape(document.getElementById('country').value) +
                      '&postcode=' + escape(document.getElementById('postcode').value) +
                      '&phone=' + escape(document.getElementById('phone').value) +
                      '&mobile=' + escape(document.getElementById('mobile').value) +
                      '&type=' + escape(document.getElementById('type').value) +
                      '&default=' + default_check;
    aj_request(url, post_string, 'user_addresses_window', 'true');
  }

	function jump_to_anchor(anchor) {
		window.location = String(window.location).replace(/\#.*$/, "") + anchor;
	}