// WoD-Trade-Stock-Speeder
// version 1.0.0 BETA!
// 2006-08-07
// Copyright (c) 2006, Jan Hoffmeyer
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
// --------------------------------------------------------------------
//
// This is a Greasemonkey user script.  To install it, you need
// Greasemonkey 0.6.4 or later: http://greasemonkey.mozdev.org/
// Then restart Firefox and revisit this script.
// Under Tools, there will be a new menu item to "Install User Script".
// Accept the default configuration and install.
//
// To uninstall, go to Tools/Manage User Scripts,
// select "WoD-Trade-Stock-Speeder", and click Uninstall.
//
// --------------------------------------------------------------------
// ==UserScript==
// @name		WoD-Trade-Stock-Speeder
// @description	Das Skript beschleunigt den Tausch von Waren, in dem es alle Waren aus dem Lager in den Tausch packt.
// @include		http://*.world-of-dungeons.de/wod/spiel/trade/exchange_details.php*
// ==/UserScript==

// Bestimme sprache
var lang = 'de';
if(location.host.search('world-of-dungeons.net') != -1) lang = 'en';


// UserID holen
var userID = document.getElementsByName('show_id')[0].value;

// Button zum einfügen bestimmen
var updateButton = document.getElementsByName('update['+userID+']')[0];

// neuen Button anlegen
var newButton;
newButton = document.createElement('input');
newButton.setAttribute('type', 'button');
newButton.setAttribute('class', 'button');
newButton.setAttribute('name', 'addLager');
if(lang=='de') newButton.setAttribute('value', 'Lager tauschen');
else if(lang=='en') newButton.setAttribute('value', 'trade stock');

// Event anmelden
newButton.addEventListener('click',addLagerItems,false);

// Button einfügen
updateButton.parentNode.insertBefore(newButton, updateButton.nextSibling);

// Event für Button
function addLagerItems()
{
	// Liste der Select-Elemente holen
	var itemList = document.getElementsByTagName('select');
	var thisSelect, selectItem = 1;
	
	// Erstes Select für Anzahl der Items holen
	var firstSelect = itemList[0];
	
	// Anzahl der Items
	var maxItems = firstSelect.options.length;
	
	// Für alle vorhandenen Select-Elemente die Auswahl treffen
	for(var i = 0; i < itemList.length; i++ )
	{
		thisSelect = itemList[i];
		if ( thisSelect.selectedIndex < 1 )
			thisSelect.options[selectItem++].selected = true;				
	}
	
	// Wenn mehr Items im Lager als vorhandene Select-Elemente, neue Select-elemene hinzufügen
	if ( selectItem <= maxItems) 
	{
		// Tabelle bestimme für späteres einfügen
		var parentTdNode = firstSelect.parentNode;
		var parentTrNode = parentTdNode.parentNode;
		var parentTableNode = parentTrNode.parentNode;
		var newSelect;
		
		// alle nicht selektierten Items durchlaufen
		for(var i = selectItem ; i < maxItems; i++ )
		{
			
			// erstes Select clonen und Auswahl treffen
			newSelect = firstSelect.cloneNode(true);
			newSelect.options[i].selected = true;
			
			// Node-Baum erzeugen
			var trNode = document.createElement('tr');
			var tdNode1 = document.createElement('td');
			tdNode1.setAttribute('valign','top');
			tdNode1.nowrap = true;
			trNode.appendChild(tdNode1);
			
			var tdNode2 = document.createElement('td');
			tdNode2.setAttribute('valign','top');
			tdNode2.nowrap = true;	
					
			tdNode2.appendChild(newSelect);
			trNode.appendChild(tdNode2);
			
			// Tabelle um Selekt-element mit Tr und Td erweitern
			parentTableNode.appendChild(trNode);
		}
	}
}





