function httpGet(url)
{
	var xmlHttp = createXmlHttpObject();
	url+=(url.indexOf("?")<0)? "?nocacheparam="+(Math.floor(Math.random()*100000)):"&nocacheparam="+(Math.floor(Math.random()*100000));
	if(xmlHttp)
	{
		xmlHttp.open("GET", url, false);
		xmlHttp.send(null);
		return xmlHttp.responseText;
	}
}

function createXmlHttpObject()
{
	var xmlHttp = null;
	if (window.XMLHttpRequest)
	{
		xmlHttp = new XMLHttpRequest();  
	}
	else if (window.ActiveXObject) 
	{
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	return xmlHttp;
}

function BGChangeParentCat( inSel )
{
	var vFormat = 1;
	var vCatId = inSel.value;
	
	var vObj = document.getElementById("divSubCatId");
	if( !vObj ) 
	{	
		vFormat = 2;
		vObj = document.getElementById("divSubCatId2");
		if( !vObj ) return;
	}
	var vHtml = '';
	if( vFormat==1 ) vHtml += '						<p><select onChange="BGChangeSubCat(this, \'idSelMainCat\' );" name="SubCatId" class="bghomedropdown">\n';
	else vHtml = '<select onChange="BGChangeSubCat(this, \'idSelMainCat\' );" name="SubCatId" class="dropdown" id="Categories2" style="float: left; margin-left: 91px">'
	vHtml += '							<option value="0">- Choose a Subcategory -</option>\n';
//	if( vCatId>0 )
	{
		var vResult = null;
		var vRet = httpGet("BGAjaxInterface.asp?func=getsubcat&catid=" + vCatId );
		eval("vResult = (" + vRet +")");
		if( typeof(vResult.DataSet) != "undefined" )
		{
			vDataSet = vResult.DataSet;
			var vLen = vDataSet.length;
			for( var i=0; i<vLen; i++ )
			{
				vHtml += '							<option value="' + vDataSet[i].Id + '">' + unescape(vDataSet[i].Name) + '</option>\n';
			}
		}
	}
	if( vFormat==1 ) vHtml += '						</select></p>\n';
	else vHtml += '</select>';
	
	vObj.innerHTML = vHtml;
}

function BGChangeSubCat( inSel, inMainCatObj )
{
	var vObj = document.getElementById( inMainCatObj );
	if( !vObj ) return;
	var vSubCatId = inSel.value;
	
	var vRet = httpGet("BGAjaxInterface.asp?func=GetParentCategoryId&subcatid=" + vSubCatId );
	if( vRet=="" ) return;
	vParentId = parseInt(vRet);
	if( isNaN(vParentId) ) return;
	
	var vLen = vObj.length;
	for( var i=0; i<vLen; i++ )
	{
		if( vObj[i].value==vParentId ) vObj[i].selected = true;
		else  vObj[i].selected = false;
	}
	
}


function BGGoToPage(inPage)
{
	var vFrm = document.frmpagin;
	if( inPage>=0 )
	{
		vFrm.page.value = inPage;
	}
	else
	{
		var vElements = vFrm.elements;
		var vLen = vElements.length;
		for( var i=0; i<vLen; i++ )
		{
			var vElem = vElements[i]
			if( vElem.nodeName.toLowerCase()!="input" ) continue;
			if( inPage==-1  && ( vElem.name=="ParentCatId" || vElem.name=="SubCatId" ) ) continue; // TTP 739
			vElem.value = "";
		}
		if( inPage==-1 ) // View All
		{
			vFrm.viewall.value = 1;
		}
	}
	vFrm.submit();
}


function BGSubmitFilter( inCatId )
{
	var vFrm = document.frmpagin;
	vFrm.page.value=0;
	vFrm.SubCatId.value = 0;
	vFrm.ParentCatId.value = inCatId
	vFrm.submit();
}

function BGVendorAlphaFilter( inFilter )
{
	var vFrm = document.frmpagin;
	vFrm.bgsrchcrit.value=inFilter;
	vFrm.page.value=0;
	vFrm.submit();
}


function ShowInfoDownload( inInfo, inParentObj, inDownloadId )
{
	var vObj = document.getElementById(inInfo + "Body");
	if( !vObj ) return;
	var vStr = "";
	vStr = httpGet("BGAjaxInterface.asp?func=BGGetDownloadInfoToolTip&DownloadId=" + inDownloadId );
	if( vStr=="" ) return;
	
	vObj.innerHTML = unescape(vStr);
	ShowInfoTooltip( inInfo, inParentObj, 0, -30 );
}


function ShowInfoProduct( inInfo, inParentObj, inProductId )
{
	var vObj = document.getElementById(inInfo + "Body");
	if( !vObj ) return;
	var vStr = "";
	vStr = httpGet("BGAjaxInterface.asp?func=BGGetProductInfoToolTip&ProductId=" + inProductId );
	if( vStr=="" ) return;
	
	vObj.innerHTML = unescape(vStr);
	ShowInfoTooltip( inInfo, inParentObj, 0, -30 );
}

function ShowInfoTooltip( inInfo, inParentObj, inOffsetX, inOffsetY )
{
	var y=0;
	var x=0;
	
	x = GetIEObjOffsetLeft( inParentObj );
	y = GetIEObjOffsetTop( inParentObj );
	
	var vObj = document.getElementById(inInfo);
	vObj.style.left = x + inOffsetX ;
	vObj.style.top = y + inOffsetY;

	vObj.style.visibility = "visible";
}

function HideInfoTooltip( inInfo )
{
	var vObj = document.getElementById(inInfo);
	vObj.style.visibility = "hidden";
} 


function GetIEObjOffsetLeft(r)
{
  return GetIEObjOffset(r,"offsetLeft")
}
function GetIEObjOffsetTop(r)
{
  return GetIEObjOffset(r,"offsetTop")
}
function GetIEObjOffset(element,attr)
{
  var offset=0;
  while(element){
    offset+=element[attr];
    element=element.offsetParent
  }
  return offset
}