	function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}

	function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}

	function MM_findObj(n, d) { //v3.0
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
	}

	function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2]};
	}

	function MM_openBrWindow(theURL,winName,features) { //v2.0

		if (features==null)	{
			features = 'scrollbars=yes,width=468,height=450';
		}
		
	newWin = window.open(theURL,winName,features);
	newWin.focus();
	}
	
	function MM_openBrWindowLE(theURL,winName,features, PageEvent) { //v2.0
		
		if (PageEvent != null) {
			LoadPageEventImage(PageEvent);
		}
		
		if (features==null)	{
			features = 'scrollbars=yes,width=468,height=450';
		}
		
		newWin = window.open(theURL,winName,features);
		newWin.focus();
	}
  
	function PlaceFocus(fieldname)	{
		document.forms[0].elements[fieldname].focus();	
	}
	
	function Rcertify() 
	{
	popupWin = window.open('http://www.bbbonline.org/cks.asp?id=101031513237', 'Participant','location=yes,scrollbars=yes,width=450,height=300'); 
	window.name = 'opener';
	}

	function changeShipSelect(form,shipField,shipStateField,stateSelectBox){
		var objShippingFld;
		var objShippingStateFld;
		var idx;
		var shipIdx;
		var tmpStr;
		objShippingFld = document.forms[form].elements[shipField];
		objShippingStateFld = document.forms[form].elements[shipStateField];
		shipIdx = objShippingFld.selectedIndex;
				
		if (stateSelectBox == 1){
			idx = objShippingStateFld.selectedIndex;
			if  ((objShippingFld.selectedIndex == 0 )&& (objShippingStateFld.options[idx].value == "HI") && (objShippingFld[shipIdx].value !=12)){
				alert('Please note: Ground shipping is unavailable when the shipping address is in Hawaii.');
				objShippingFld.options[1].selected = "Selected";
			}
		}else {
			if  ((objShippingFld.selectedIndex == 0 )&& (objShippingStateFld.value == "HI") && (objShippingFld[shipIdx].value !=12)){
				alert('Please note: Ground shipping is unavailable when the shipping address is in Hawaii.');
				objShippingFld.options[1].selected = "Selected";
			}
		}	
	}

	function OpenPromoWindow(sURL, ww)
	{
	newwindow=open(sURL,"promo","scrollbars=yes,toolbar=no,directories=no,menubar=no,resizable=no,status=yes,width=" + ww + ",height=240");
	}

	function OpenOCWindow(sURL, ww)
	{
	newwindow=open(sURL,"promo","scrollbars=yes,toolbar=no,directories=no,menubar=no,resizable=no,status=yes,width=" + ww + ",height=240");
	}
	function RedirectSelection()	{
	
	//for your list box to work, change these variables to suit your needs
	var formName = 'frmListBox'
	var listBoxName = 'cboListBox' 
	
	//end
	
	var ListBoxIndex = document.forms[formName].elements[listBoxName].selectedIndex
	var ListBoxValue = document.forms[formName].elements[listBoxName].options[ListBoxIndex].value
	document.location.href = ListBoxValue
	
	
	}
	// Function SearchListBox
	// Purpose: Highlight indexed value in select box by comparing search text to array values
	// Input:	
	//		SrchFeild	Search Text field object (form field has onkeyup eventhandler to call function)
	//		ArrayObj	JS Array set up while creating list box
	//		LstBoxName	Name of form object for the list box
	// Use: The following is added to the field containing the text to use for searching
	//			onkeyup="SearchListBox(this,arrAgents,document.f_other.agent_select);"
	// Output: None
	// Author: BFreedman
	// Created 9/3/2003
	//
	function SearchListBox(SrchField, ArrayObj, LstBoxName){
		var SearchText = SrchField.value;
		var pattern =  new RegExp("^" + SearchText, "i");
		for (var i = 1; i < ArrayObj.length; i++){
			var tmp = ArrayObj[i].search(pattern);
			if (tmp > -1){ 
//				alert ("Serach Text: " + AgentSrch.value + " " + document.f_other.agent_select.options[i+1].value);
				LstBoxName.options[i+1].selected =true;
				return;
			}
		}
	}
	
	
	
	
	// Function ChangeDisplayByID
	// Purpose: Changes the css display attribute of the given id to spec'd value
	// Input:	
	//		elmID	Id of an html object we want to change the display value for
	//		value	value we want to change the display style to: probably either 'none' or 'block'
	// Output: None
	// Author: GSF
	// Created 9/10/2004
	function ChangeDisplayByID( elmID, value )
	{
		var node = document.getElementById( elmID );

		if( node )
		{
		//	alert("Found 1: " + elmID + " with right class changing to:|" + value +"|" );
			
			node.style.display = value;
		}
		
		return;
	}
	
	// Function: SetAccessoriesCheckBoxCookies
	// Purpose: Set a cookie indicating whether the user selected the accessorries checkbox
	// so we can persist the checkbox throught out the user experience. Use only on specialoffer
	// input: 
	// output none
	// Created by: lz 2/15/2005
	function SetAccessoriesCheckBoxCookies()
	{
		if(document.frmSpecialOffer.Accessories.checked)
		{
			document.cookie = "AccessoriesChecked=True" ;
		}
		else
		{
			document.cookie = "AccessoriesChecked=False" ;
		}
	}
	
	function AutoTab(original, len, destination, e)
	{
		var d;
		d = document.getElementsByName(destination);
		
		if ( e.keyCode != 9 && e.keyCode != 16 )
		{
			if ( original.value.length == len )
			{
				d[0].focus();
				d[0].select();
			}
		}
	}
	
	var req;

	// loadXMLDoc() from developer.apple.com
	function loadXMLDoc(url, func) 
	{
		// branch for native XMLHttpRequest object
		if ( window.XMLHttpRequest ) 
		{
			//alert("firefox");
			req = new XMLHttpRequest();
			req.onreadystatechange = func;
			req.open("GET", url, true);
			req.send(null);
		// branch for IE/Windows ActiveX version
		} 
		else if ( window.ActiveXObject ) 
		{
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if ( req ) 
			{
				req.onreadystatechange = func;
				req.open("GET", url, true);
				req.send();
			}
		}
	}
	
	function PopItUp()
	{	
		if ( req.readyState == 4 ) 
		{		
			if ( req.status == 200 ) 
			{	
				var response = req.responseXML;
				var resultNode = response.getElementsByTagName("result")[0];
				var isDuplicate;
				var isPartiallyDuplicate;
				var cid;
				var bundleid;
				var sharedFlag;
				var r;
				
				if (document.all) 
				{
					var blnNodes = resultNode.getElementsByTagName("IsDuplicateBundle");
					var partDupNodes = resultNode.getElementsByTagName("IsPartiallyDuplicateBundle");
					var cids = resultNode.getElementsByTagName("cid");
					var bundleids = resultNode.getElementsByTagName("bundleid");
					var sharedFlags = resultNode.getElementsByTagName("shared");
					var rUrls = resultNode.getElementsByTagName("r");
					
					isDuplicate = blnNodes[0].firstChild.data;
					isPartiallyDuplicate = partDupNodes[0].firstChild.data;
					cid = cids[0].firstChild.data;
					bundleid = bundleids[0].firstChild.data;
					sharedFlag = sharedFlags[0].firstChild.data; 
					r = rUrls[0].firstChild.data; 
				} 
				else 
				{
					var blnNodes = resultNode.childNodes;	
					
					for ( i=0; i < blnNodes.length; i++ ) 
					{
						currNode = blnNodes[i];
						
						switch(currNode.localName)
						{
							case "IsDuplicateBundle":
								isDuplicate = currNode.firstChild.data;
								break;
								
							case "IsPartiallyDuplicateBundle":
								isPartiallyDuplicate = currNode.firstChild.data;
								break;
								
							case "cid":
								cid = currNode.firstChild.data;
								break;
							
							case "bundleid":
								bundleid = currNode.firstChild.data;
								break;
								
							case "shared":
								sharedFlag = currNode.firstChild.data;
								break;
								
							case "r":
								r = currNode.firstChild.data;
								break;
							
							default:	
						}
					}
				}
				
				var continueButton;
				
				if ( isDuplicate == "yes" ) 
				{
					DisplayBlock("DuplicateDialog");
					
					if ( sharedFlag == '1' )
					{
						continueButton = document.getElementById("ContinueButtonDuplicate");
					}
					else
					{
						continueButton = document.getElementById("ContinueButtonDuplicateSingle");
					}
					
					continueButton.href = "http://" + document.domain + "/updatecart.aspx?dest=options&journey=sotoop&cid=" + cid + "&bundleid=" + bundleid + "&r=" + r;
				}
				else if ( isPartiallyDuplicate == "yes" )
				{
					DisplayBlock("PartiallyDuplicateDialog");
					
					if ( sharedFlag == '1' )
					{
						continueButton = document.getElementById("PartiallyDuplicateContinue");
					}
					else
					{
						continueButton = document.getElementById("PartiallyDuplicateContinueSingle");
					}
					
					continueButton.href = "http://" + document.domain + "/updatecart.aspx?dest=options&journey=sotoop&cid=" + cid + "&bundleid=" + bundleid + "&r=" + r;
				}
				else if ( isDuplicate == "no" )
				{
					DisplayBlock("CartProcessing");
					document.location.href = "http://" + document.domain + "/updatecart.aspx?dest=options&journey=sotoop&cid=" + cid + "&bundleid=" + bundleid + "&r=" + r;
				}
			}
			else
			{
				alert("There was a problem retrieving the XML data:\n" + req.statusText);
			}
		}
	}
	
	function DisplayBlock(BlockId)
	{
		var im = document.getElementById(BlockId);
		
		if (im.style.display=="none")
		{
			im.style.display="block";
		}
	}
	
	function HideBlock(BlockId)
	{
		var im = document.getElementById(BlockId);
		im.style.display = "none";
	}
	
	//ciruitcity javascript//
	
if(parent.frames.length > 0) {
   if (document.location.href.indexOf("cgisec") > 0 || document.location.href.indexOf("secure") > 0) 
      top.location.replace(document.location); 
}



sfHover = function() {
	var sfEls = document.getElementById('circuitv3_tabbedmenu').getElementsByTagName('LI');
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
			}
		sfEls[i].onmouseout=function() {
		this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
} 
if (window.attachEvent){ window.attachEvent("onload", sfHover)};


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function chkSrch(fld){
  if (fld.value == 'Keyword or Item #' || fld.value == '')
  {
      alert('Please enter keyword(s) or item number and try again.'); 
      fld.focus();
      return false;
  } else {
  return true;
  }
}
function chkEml(fld){
  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([\w-]+(?:\.[\w-]+)*)$/i
  if (fld.value == 'Deal Alerts: Enter Your Email' || fld.value == '' )
  {
      alert('Please enter your e-mail address in the Box'); 
      fld.focus();
      return false;
  } else if (filter.test(fld.value) == false)  { 
      alert('Sorry, please enter a valid e-mail address, for example, johnsmith@gmail.com'); 
      fld.focus(); 
      return false;
  } else {
  return true;
  }
}