    function createXMLHttpRequest() {
    
    var ua;
    
    if(window.XMLHttpRequest) {
        try {
        ua = new XMLHttpRequest();
        } catch(e) {
        ua = false;
        }
    } else if(window.ActiveXObject) {
        try {
        ua = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
        ua = false;
        }
    }
    return ua;
    }
    
    var req = createXMLHttpRequest();
	
    function savetolist(o){
	var bo = document.getElementById('b_'+o);
	if (bo.value == 'GET QUOTE') {
		addToCart(o);
		bo.value = 'ADDED TO LIST';
		bo.style.background = '#5272B3';
	}else{
		removeFromCart(o);
		bo.value = 'GET QUOTE';
		bo.style.background = '#9D0020';
	}
	}
	function removefromlist(o){
	removeFromCart(o);
	document.getElementById('r'+o).style.display = 'none';
	if (document.getElementById("numitems").innerHTML == '0'){
	window.location.reload();
	}
	}
	
	
	
    function addToCart(id) {
      req.open('get', '/includes/cf/shoplist.cfm?a=1&id='+id+'&t='+new Date().valueOf());
      req.onreadystatechange = handleResponse;
      req.send(null);
    }
	function logE(id) {
      req.open('get', '/includes/cf/emaillog.cfm?e='+id+'&t='+new Date().valueOf());
      req.onreadystatechange = handleEResponse;
      req.send(null);
    }
    function updatePerPage(n,r) {
      req.open('get', '/includes/cf/setperpage.cfm?n='+n+'&t='+new Date().valueOf());
	  if (r==1){
      req.onreadystatechange = handleResponse2;
	  }
      req.send(null);
    }
    
    function removeFromCart(id) {
      req.open('get', '/includes/cf/shoplist.cfm?a=0&id='+id+'&t='+new Date().valueOf());
      req.onreadystatechange = handleResponse;
      req.send(null);
    }
    
    function handleResponse() {
    
    if(req.readyState == 4){
        var response = req.responseText;	
		response = response.replace(/^\s*|\s*$/g,"");
		document.getElementById("numitems").innerHTML = response;
    }
    else{
	}
    //alert("loading" + req.readyState);
    }
	function handleEResponse() {
    if(req.readyState == 4){
        return true;
    }
    else{
	}
    //alert("loading" + req.readyState);
    }
	function handleResponse2() {

    if(req.readyState == 4){
		var response = req.responseText
		window.location.reload();
    }

    else{
	}
    //alert("loading" + req.readyState);
    }
                    
  
    

