var fhURL = "http://test.bo.snapshotdesign.com";
var wl_bj_pre = "";

function handleMakeRequest(obj, x)
{
    if (escape(obj.value))
    {
        makeRequest('/ajax/PartNumber_validation.asp?T1='+obj.value,'ITN'+ x);
    }
    else
    {
		clear_elem('ITN'+ x)
		document.getElementById('validITN'+x).style.display = "none";
    }
}
function handleQtyMsg(obj,x)
{
    if( escape(obj.value) )
    {
        outStock_message(x);
    }
}
function handleSubmit(val)
{
    var retval;
    for (var x = 1; x < val; x++ )
    {
		if(document.getElementById('cancelITN'+ x).value == 'Y')
		{
			outStock_message(x);
			return false;	
		}				    
    }
    
    validate_multiAdd();
    return true;
}	

function makeRequest(url,id)
{
	var http_request = false;
	
	if (window.XMLHttpRequest) // Mozilla, Safari, Opera 8.0+
	{
		http_request = new XMLHttpRequest();     
		if (http_request.overrideMimeType)
			http_request.overrideMimeType('text/xml'); //We override the Mime Type because Mozilla might get crabby if you don't
	}
	else if (window.ActiveXObject) // IE 5.0+
	{
		try
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
			http_request.overrideMimeType('text/xml');
		}
		catch (e)
		{
			try
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
				http_request.overrideMimeType('text/xml');
			}
			catch (e) {}
		}
	}
	
	if (!http_request)
	{
		window.location.href = window.location.href + "&NA=1";
	}
	else
	{
		http_request.onreadystatechange = function() {  processResponse(http_request,id); };
		http_request.open('GET', url, true);
		http_request.send(null);
		return true;
	}
}

function processResponse(http_request,id) { if (http_request.readyState == 4) { if (http_request.status == 200) { return displayData(http_request,id); } else { return false; } }}

function displayData(http_request, id) {

  //document.getElementById("loading").style.display = "";
  //document.getElementById("addcart").style.display = "none";

  
  var xml = null;
  var flag, idesc, itemnum, styleid, customid, restricted, availInv, showPrice, ecco
  xml = http_request.responseXML;

  flag = getNodeValue(xml,"success");
  idesc = getNodeValue(xml,"idesc");
  itemnum = getNodeValue(xml,"itemnum");
  styleid = getNodeValue(xml,"styleid");
  customid = getNodeValue(xml,"customid");
  restricted = getNodeValue(xml,"restricted");
  availInv = getNodeValue(xml,"availInv");
  showPrice = getNodeValue(xml,"showPrice");
  ecco = getNodeValue(xml,"ecco");
  cancel = getNodeValue(xml,"cancel");
  
 if ( restricted != "Y" &&  showPrice != "N" ) 
	{
		if ( flag == "Y" ) 
			{ 
	 			document.getElementById(id).value = itemnum;
	 			document.getElementById('desc'+id).value = idesc;
	 			document.getElementById('styleFlag'+id).value = 'N';
	 			document.getElementById('Complete'+id).value = 'Y';
	 			document.getElementById('valid'+id).style.display = "";
	 			document.getElementById('availInv'+id).value = availInv;
	 			//document.getElementById("loading").style.display = "none";
  			 	//document.getElementById("addcart").style.display = "";
	 			
	 			document.getElementById('cancel'+id).value = cancel;
	 		} 
	 	if ( flag == "S" ) 
	 		{
	 			document.getElementById(id).value = itemnum;
	 			document.getElementById('desc'+id).value = idesc;
	 			document.getElementById('styleFlag'+id).value = 'Y';
	 			document.getElementById('Complete'+id).value = 'Y';
	 			document.getElementById('valid'+id).style.display = "";
	 			document.getElementById('availInv'+id).value = availInv;
	 			//document.getElementById("loading").style.display = "none";
  			 	//document.getElementById("addcart").style.display = "";
  			 	
  			 	document.getElementById('cancel'+id).value = cancel;

	 		}
	 	if ( flag == "P" ) 
	 		{
	 			alert('Part Number: ' + itemnum + ' is not valid or is no longer available.');
	 			return false;
	 		}
	 	if ( flag == "V" ) 
	 		{
	 			alert('Part Number: ' + itemnum + ' is a Kit item and can not be order through Quick Order functionality.');
	 			document.getElementById(id).value = "";
				document.getElementById(id).focus();
	 			return false;
	 		}
	 	if ( flag == "N" ) 
	 		{
	 			if ( styleid == "S" ) 
	 				{
	 					document.getElementById(id).value = itemnum;
	 					document.getElementById('desc'+id).value = idesc;
	 					document.getElementById('styleFlag'+id).value = 'Y';
	 					document.getElementById('Complete'+id).value = 'N';
	 					document.getElementById('valid'+id).style.display = "";
	 					document.getElementById('availInv'+id).value = "N";
	 					//document.getElementById("loading").style.display = "none";
  			 			//document.getElementById("addcart").style.display = "";
  			 			
  			 			document.getElementById('cancel'+id).value = cancel;
	 					
	
	 					//showstylesOverlay(itemnum); return false;
	 				} else {
	 					alert('Part Number: ' + itemnum + ' is not valid or is no longer available.');
	 					document.getElementById(id).value = "";
	 					document.getElementById(id).focus();
	 					document.getElementById('processed').value = "";
	 					return false;
	 					
	 				}
	 			
	 		}
	 		
	 	if ( document.getElementById('processed').value == "Y"	)
	 		{
	 			document.getElementById('processed').value = "";
	 			document.Multi_add.submit();
	 		}
	 		
	 	
	
	} else {
	    if ( ecco == "Y" ) 
	    {
	    	alert(idesc + ' - Part Number: ' + itemnum + ' is an item we can not sell online.');
	    } else {
			alert(idesc + ' - Part Number: ' + itemnum + ' is an item we can not sell on this web site. Please call 1-800-322-4539 for ordering information.');
		}	
		document.getElementById(id).value = "";
		document.getElementById(id).focus();
		document.getElementById('processed').value = "";
	 	return false;
	}	
	
} 


function validate_multiAdd() 
{	
	document.getElementById("loading").style.display = "";
	document.getElementById("addcart").style.display = "none";
	document.getElementById('processed').value = "Y";
	
	var myerror = false;
	var has_content = false;
	var i=1;
	for (i=1;i<=6;i++)
	{
		if ( document.getElementById('ITN'+i).value != "" ) 
			{
			    has_content = true;
				if ( document.getElementById('CompleteITN'+i).value == "") 
					{
						makeRequest('http://test.bo.snapshotdesign.com/ajax/PartNumber_validation.asp?T1='+document.getElementById('ITN'+i).value,'ITN'+i);
						myerror = true;
						//alert("Running validation");
						//return false;
					} else {
						//alert("submit the form");
						//return true;
					}
			}
	}
	if ( has_content != true )
	    {
	    document.getElementById("loading").style.display = "none";
	    document.getElementById("addcart").style.display = "";
	    document.getElementById('processed').value = "";
	    alert('Please add a valid Item and QTY to proceed');
	    return false;
	    }
	
	if ( myerror == false )	
		{
			document.Multi_add.submit();
		} else {
			//alert("please submit form");
			document.getElementById("loading").style.display = "none";
			document.getElementById("addcart").style.display = "";
			return false;
		}
		
}

function validate_multiAdd_20() 
{	
	document.getElementById("loading").style.display = "";
	document.getElementById("addcart").style.display = "none";
	document.getElementById('processed').value = "Y";
	
	var myerror = false;
	var has_content = false;
	var i=1;
	for (i=1;i<=20;i++)
	{

		if ( document.getElementById('ITN'+i).value != "" ) 
			{
				has_content = true;
				if ( document.getElementById('CompleteITN'+i).value == "") 
					{
						makeRequest('http://test.bo.snapshotdesign.com/ajax/PartNumber_validation.asp?T1='+document.getElementById('ITN'+i).value,'ITN'+i);
						myerror = true;
						//alert("Running validation");
						//return false;
					} else {
						//alert("submit the form");
						//return true;
					}
			}
	}
	
	if ( has_content != true )
	    {
	    document.getElementById("loading").style.display = "none";
	    document.getElementById("addcart").style.display = "";
	    document.getElementById('processed').value = "";
	    alert('Please add a valid Item and QTY to proceed');
	    return false;
	    }
	    
	if ( myerror == false )	
		{
			document.Multi_add.submit();
		} else {
			//alert("please submit form");
			document.getElementById("loading").style.display = "none";
			document.getElementById("addcart").style.display = "";
			return false;
		}
		
}

function clear_form()
{

    var i=1;
	for (i=1;i<=6;i++)
	{
		document.getElementById('QTY'+i).value = 0;
		document.getElementById('ITN'+i).value = '';
		document.getElementById('descITN'+i).value = '';
		document.getElementById('styleFlagITN'+i).value = '';
		document.getElementById('CompleteITN'+i).value = '';
		document.getElementById('processed').value = "";
		document.getElementById('validITN'+i).style.display = "none";
		document.getElementById('cancelITN'+i).value = "";
    }

}
function clear_elem(id)
{
	document.getElementById('valid'+id).style.display = "none";
	document.getElementById('styleFlag'+id).value = '';
	document.getElementById('Complete'+id).value = '';
	document.getElementById('valid'+id).style.display = "";
	document.getElementById('availInv'+id).value = "";
	document.getElementById('cancel'+id).value = "";
}

function clear_form20()
{

    var i=1;
	for (i=1;i<=20;i++)
	{
		document.getElementById('QTY'+i).value = 0;
		document.getElementById('ITN'+i).value = '';
		document.getElementById('descITN'+i).value = '';
		document.getElementById('styleFlagITN'+i).value = '';
		document.getElementById('CompleteITN'+i).value = '';
		document.getElementById('processed').value = "";
		document.getElementById('validITN'+i).style.display = "none";
		document.getElementById('cancelITN'+i).value = "";
    }

}


function outStock_message(id) 
{
	
	//alert(id);
	
	if ( document.getElementById('availInvITN'+id).value == 'n/a' )
	{
		//alert('Check stock status on the next page.');
		//alert(document.getElementById('availInvITN'+id).value);
	}
	if ( document.getElementById('availInvITN'+id).value == 'n' )
	{
		alert('We are sorry but the ' + document.getElementById('descITN'+id).value + ' is currently out of stock and will be placed on backorder. If you do not want this item to be backordered please do not add it to your cart.');
	}
	if ( document.getElementById('availInvITN'+id).value == '0' ) 
	{
		alert('We are sorry but the ' + document.getElementById('descITN'+id).value + ' is currently out of stock and will be placed on backorder. If you do not want this item to be backordered please do not add it to your cart.');
	}
	/*
	if ( document.getElementById('availInvITN'+id).value >= '1' && document.getElementById('availInvITN'+id).value < document.getElementById('QTY'+id).value) 
	{
		alert('We are sorry but the QTY you are ordering of this item: ' + document.getElementById('descITN'+id).value + ' is currently beyond our current inventory levels and will be placed on backorder. If you do not want this item to be backordered please lower the requested QTY below ' + document.getElementById('availInvITN'+id).value + ' units.');
	}
	*/
	if ( document.getElementById('availInvITN'+id).value >= 1 ) 
	{
		var availinv = parseInt(document.getElementById('availInvITN'+id).value);
		var reqqty	= parseInt(document.getElementById('QTY'+id).value);
		
		if( availinv < reqqty )
		{
			alert('We are sorry but the QTY you are ordering of this item: ' + document.getElementById('descITN'+id).value + ' is currently beyond our current inventory levels and will be placed on backorder. If you do not want this item to be backordered please lower the requested QTY below ' + document.getElementById('availInvITN'+id).value + ' units.');
		}
	}

}

function showstylesOverlay(inItemNo)
{
	//inButtonID is not used in this implementation, could be used to position the popup relative to the button clicked.	
	var sURL = wl_bj_pre + fhURL + "/itemdetail_popup.asp?item=" + inItemNo;
	
	//var sURL = wl_bj_pre + fhURL + "/includes/x_getlevel.asp?item=" + inItemNo;

	
	var myURL;
	
		
	if (document.getElementById("overlay"))
	{
		document.getElementById("overlay").style.display = "block";

		var x, y;
		
		y = YAHOO.util.Dom.getDocumentScrollTop();
		
		x = YAHOO.util.Dom.setX("overlay",330);
		y = YAHOO.util.Dom.setY("overlay",150 + y);
				
	}
	
	var AjaxObject = { 
	 
	    handleSuccess:function(o){ 
	        // This member handles the success response 
	        // and passes the response object o to AjaxObject's 
	        // processResult member. 
	        this.processResult(o); 
	    }, 
	 
	    handleFailure:function(o){ 
			//alert("uhoh");
	    }, 
	 
	    processResult:function(o){ 
	        // This member is called by handleSuccess 	        
	        
			if (document.getElementById("overlay"))
			{
				document.getElementById("overlaycontent").innerHTML = o.responseText;
				document.getElementById("spinner").style.display = "none";
			}
	    }, 
	 
	    startRequest:function() { 
	       //YAHOO.util.Connect.asyncRequest('POST', sURL , callback, "T1=" + inItemNo + "&QO=1&bid=" + isBid); 
	       YAHOO.util.Connect.asyncRequest('POST', sURL , callback, "T1=" + inItemNo + "&QO=1&bid="); 
	    } 
	 
	}; 
	 
	var callback = 
	{ 
    success:AjaxObject.handleSuccess, 
	    failure:AjaxObject.handleFailure, 
	    scope: AjaxObject 
	}; 
	 
	// Start the transaction. 
	AjaxObject.startRequest(); 
}


function clearOverlay()
{

	if (document.getElementById("overlay"))
	{	
		
		document.getElementById("overlaycontent").innerHTML = "";
		document.getElementById("spinner").style.display = "block";		
		document.getElementById("overlay").style.display = "none";
	}
}

function displayError(inText)
{
	if (document.getElementById("overlay"))
	{
		document.getElementById("overlaycontent").innerHTML = inText;
		document.getElementById("spinner").style.display = "none";
	}
	
	window.setTimeout(clearOverlay,4000);	
}





function getBuyDetails(inItemNo,isBid)
{	
	var sURL = wl_bj_pre + fhURL + "/itemdetail_Popup.asp";

	alert('Part Number: ' + inItemNo + ' is not valid or is no longer available.');


	var AjaxObject = { 
	 
	    handleSuccess:function(o){ 
	        // This member handles the success response 
	        // and passes the response object o to AjaxObject's 
	        // processResult member. 
	        this.processResult(o); 
	    }, 
	 
	    handleFailure:function(o){ 
			//alert("uhoh");
	    }, 
	 
	    processResult:function(o){ 
	        // This member is called by handleSuccess 	        
	        
			if (document.getElementById("overlay"))
			{
				document.getElementById("overlaycontent").innerHTML = o.responseText;
				document.getElementById("spinner").style.display = "none";
			}
	    }, 
	 
	    startRequest:function() { 
	       YAHOO.util.Connect.asyncRequest('POST', sURL , callback, "item=" + inItemNo + "&QO=1&bid=" + isBid); 
	    } 
	 
	}; 
	 
	var callback = 
	{ 
    success:AjaxObject.handleSuccess, 
	    failure:AjaxObject.handleFailure, 
	    scope: AjaxObject 
	}; 
	 
	// Start the transaction. 
	AjaxObject.startRequest(); 	
	

}




function getNodeValue(xml,node) {   

  var value;
  value = xml.getElementsByTagName(node)[0].firstChild.nodeValue; 
  return value;


}



function getNodeAttribute(xml, node, attr, index)
{
	var value = "";
	
	if (xml.getElementsByTagName(node)[index])
	{
		value = xml.getElementsByTagName(node)[index].getAttribute(attr);
	}
	
	return value;
}