anchor.diff:  		DivElement dropTarget = querySelector("#SellDropTarget");
   		Dropzone dropzone = new Dropzone(dropTarget, acceptor: new Acceptor.draggables([InvDragging._draggables]));
   		dropzone.onDrop.listen((DropzoneEvent dropEvent) {
  +			// TODO: fix this only getting called the first time
  +			// https://github.com/ChildrenOfUr/cou-issues/issues/279
  +			// print("dropped item");
   			spawnBuyDetails(JSON.decode(dropEvent.draggableElement.attributes['itemMap']), vendorMap['id'], sellMode:true);
   		});
   
  -		if(sellMode)
  +		if(sellMode) {
   			this.displayElement.querySelector('#SellTab').click();
  -		else
  +		} else {
   			this.displayElement.querySelector('#BuyTab').click();
  +		}
   		this.open();
   	}
   
  
positive.code: 				int newNum = buyNum.valueAsNumber.toInt();
  				numToBuy = _updateNumToBuy(item, newNum, sellMode:sellMode);
  			}
  			catch(e) {
  			}
  		});
  
  		StreamSubscription bb = buyButton.onClick.listen((_) {
  			int newValue;
  			Map actionMap = {"itemType": item['itemType'], "num": numToBuy};
  
  			if(sellMode) {
  				if(numToBuy > getNumItems(item['itemType']))
  					return;
  
  				newValue = metabolics.currants + (item['price'] * numToBuy * .7) ~/ 1;
  				sendAction("sellItem", vendorId, actionMap);
  			}
  			else {
  				if(metabolics.currants < item['price'] * numToBuy)
  					return;
  
  				newValue = metabolics.currants - item['price'] * numToBuy;
  				sendAction("buyItem", vendorId, actionMap);
  
negative.code: 		npcId = vendorMap['id'];
  		String windowTitle = vendorMap['vendorName'];
  		if(windowTitle.contains('Street Spirit:')) {
  			windowTitle = windowTitle.substring(15) + " Vendor";
  		}
  		header.innerHtml = '<i class="fa-li fa fa-shopping-cart"></i>' + windowTitle;
  		currants.text = " ${commaFormatter.format(metabolics.currants)} currants";
  