		var xhrObject = false;
		var completeDiv;
   		var inputField;
        var nameTable;
        var nameTableBody;

 function createXhrRequest(warnung) {

        xhrObject = false;

        if (window.XMLHttpRequest) { // Mozilla 1.0+, Safari 1.2+
            xhrObject = new XMLHttpRequest();
            if (xhrObject.overrideMimeType) {
                xhrObject.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // Internet Explorer 5+
            try {
                xhrObject = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    xhrObject = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!xhrObject) {
            if(warnung) {alert('Sorry. Your browser does not support this feature.')}
            return false;
        }
     

    }

   function makeXhrRequest(url) {

	createXhrRequest(true);
	xhrObject.onreadystatechange = serveXhrRequest;
    xhrObject.open('GET', url, true);
    xhrObject.send(null);
        
   }     
        
    function serveXhrRequest() {

        if (xhrObject.readyState == 4) {
        if (xhrObject.status == 200) {
                var xmldoc = xhrObject.responseXML;
                 
          if(xmldoc.getElementsByTagName("error")[0]) {
          	var erroreNode = xmldoc.getElementsByTagName("error")[0];
			var errormsg = erroreNode.firstChild.nodeValue;
			
          	var skuNode = xmldoc.getElementsByTagName("sku")[0];
			var sku = skuNode.firstChild.nodeValue;
			
          	var DivElement = document.getElementById("pbpop");
          	
			var pricepopup = '<div id="better_price"><h1>Please Re-Enter Email</h1><a class="close" href="#" onclick="LayerClose(); return false;">Close</a><div id="bp_content"><p class="instructions">'+ errormsg +'</p><form id="bp_form" name="bp_form" action="javascript:SubmitXHR('+sku+')" onsubmit="SubmitXHR('+sku+'); return false;" method="GET"> <dl><dt><label for="bp_email">Enter your Email Address:</label></dt> <dd><input type="text" id="bp_email" name="bp_email" /></dd> <dd class="input"><input type="image" src="../images/bp_submit.png" onclick="SubmitXHR('+sku+'); return false;" /></dd> </dl> </form> <p class="nospam"><strong>No Spam:</strong> We keep your email address private and only use it for this offer.</p> </div> </div>';

			DivElement.className='bp_show';
			DivElement.innerHTML = pricepopup;
          
          }
          
          else {
                 
				var priceNode = xmldoc.getElementsByTagName("new_price")[0];
				var betterPrice = priceNode.firstChild.nodeValue;
				
				var emailNode = xmldoc.getElementsByTagName("email")[0];
				var email = emailNode.firstChild.nodeValue;
				
			var DivElement = document.getElementById("pbpop");
			var pricepopup = '<div id="better_price"><h1>We found a lower price</h1><a class="close" href="#" onclick="LayerClose(); return false;">Close</a><div id="bp_content"><p class="congrats">Congratulations, we found a new lower price for you.</p><p class="announce">Your new price is:</p><p class="lower_price">'+ betterPrice +'</p><p class="nospam">An email has been sent to <strong>' + email + '</strong> which includes a time-limited coupon code to claim your lower special price. This price is <strong>only valid for one hour</strong>.</p></div> </div>';
			DivElement.className='bp_show';
			DivElement.innerHTML = pricepopup;
			var imgEl = document.getElementById("bp_image");
			imgEl.className='bp_hide';
			Set_Cookie('CCBPrice','true',120,'/','.clearanceclub.com','');
			
			
			}
			
            } else {
                alert('There was a problem with your request.');
            }
        }
        
        else {
        var loadingNode = document.getElementsByTagName("p")[1];
        	loadingNode.innerHTML = "Searching for lower price...";

        }

    }


function MoBetterPrice(sku) {
var DivElement = document.getElementById("pbpop");
var pricepopup = '<div id="better_price"><h1>Email Me Better Price</h1><a class="close" href="#" onclick="LayerClose(); return false;">Close</a><div id="bp_content"><p class="instructions">There\'s an even better price waiting for you. Enter your email and we\'ll check for the <b>lowest price</b> we can offer today.</p><form id="bp_form" name="bp_form" action="javascript:SubmitXHR('+sku+')" onsubmit="SubmitXHR('+sku+'); return false;" method="GET"> <dl><dt><label for="bp_email">Enter your Email Address:</label></dt> <dd><input type="text" id="bp_email" name="bp_email" /></dd> <dd class="input"><input type="image" src="../images/bp_submit.png" onclick="SubmitXHR('+sku+'); return false;" /></dd> </dl> </form> <p class="nospam"><strong>No Spam:</strong> We keep your email address private and only use it for this offer.</p> </div> </div>';
DivElement.className='bp_show';
DivElement.innerHTML = pricepopup;

}





function SubmitXHR(sku) {

var formEmailNode = document.getElementById("bp_email");
var formEmailValue = formEmailNode.value;

var url = "/depot/xhr_bp_response.cgi?sku=" + sku + "&bp_email=" + formEmailValue;
makeXhrRequest(url);
}

function LayerClose() {
var DivElement = document.getElementById("pbpop");
var pricepopup = '';

DivElement.innerHTML = pricepopup;
DivElement.className='bp_hide';
return false;

}


function declareRef() {
	var cookie_val = Read_cookie('CCjsref') ;
	if ( cookie_val != 'false' ) {
		Set_Cookie ('CCjsref',encodeURIComponent(document.referrer),7,"/",'.clearanceclub.com');
	}
}


function Read_cookie ( name ) {
	var cookies = document.cookie;
	var pos = cookies.indexOf(name + "=");
	if ( pos != -1 ) {
		var start = pos + name.length + 1;
		var end = cookies.indexOf(";", start);
		if (end == -1 ) {
			end = cookies.length;
		}
		var value = cookies.substring(start,end);
		value = decodeURIComponent(value);
		return value;
	}
	
};

function Set_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + //expires.toGMTString()
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}


	// product search suggest functions
	
	function initVars() {
            inputField = document.getElementById("keyword");            
            nameTable = document.getElementById("suggest_table");
            completeDiv = document.getElementById("suggest_popup");
            nameTableBody = document.getElementById("suggest_table_body");
        }

        function findNames() {
       
            initVars();
            if (inputField.value.length > 0) {
                createXhrRequest(false);            
                var url = "/depot/xhr_suggest.cgi?names=" + escape(inputField.value);                        
                xhrObject.open("GET", url, true);
                xhrObject.onreadystatechange = callback;
                xhrObject.send(null);
            } else {
                clearNames();
            }
        }

        function callback() {
            if (xhrObject.readyState == 4) {
                if (xhrObject.status == 200) {
                    var name = xhrObject.responseXML.getElementsByTagName("name")[0].firstChild.data;
                    setNames(xhrObject.responseXML.getElementsByTagName("name"));
                } else {
                    clearNames();
                }
            }
        }
        
        function setNames(the_names) {            
            clearNames();
            var size = the_names.length;
            setOffsets();

            var row, cell, txtNode;
            for (var i = 0; i < size; i++) {
                var nextNode = the_names[i].firstChild.data;
                row = document.createElement("tr");
                cell = document.createElement("td");
                
                cell.onmouseout = function() {this.className='mouseOver';};
                cell.onmouseover = function() {this.className='mouseOut';};
                cell.setAttribute("bgcolor", "#F4F4F4");
                cell.setAttribute("border", "0");
                cell.onclick = function() { populateName(this); } ;                             

                txtNode = document.createTextNode(nextNode);
                cell.appendChild(txtNode);
                row.appendChild(cell);
                nameTableBody.appendChild(row);
            }
        }

        function setOffsets() {
            var end = inputField.offsetWidth;
            var left = calculateOffsetLeft(inputField);
            var top = calculateOffsetTop(inputField) + inputField.offsetHeight;

            completeDiv.style.border = "#415A70 1px solid";
            completeDiv.style.left = left + "px";
            completeDiv.style.top = top + "px";
            nameTable.style.width = end + "px";
        }
        
        function calculateOffsetLeft(field) {
          return calculateOffset(field, "offsetLeft");
        }

        function calculateOffsetTop(field) {
          return calculateOffset(field, "offsetTop");
        }

        function calculateOffset(field, attr) {
          var offset = 0;
          while(field) {
            offset += field[attr]; 
            field = field.offsetParent;
          }
          return offset;
        }

        function populateName(cell) {
            inputField.value = cell.firstChild.nodeValue;
            clearNames();
        }

        function clearNames() {
            var ind = nameTableBody.childNodes.length;
            for (var i = ind - 1; i >= 0 ; i--) {
                 nameTableBody.removeChild(nameTableBody.childNodes[i]);
            }
            completeDiv.style.border = "none";
        }



