// ==UserScript==
// @name           Ogame's fleet rememberer
// @namespace      ogame.fr
// @description    Remember settings for planet-type and speed in (http://ogame.spiderou.net)
// @include        http://uni*.ogame.fr/game/index.php?page=flotten2*
// ==/UserScript==

// LastMod : 2009-07-06

var form = firstxpathresult('//form') ;
var planettype = firstxpathresult('//select[@name="planettype"]') ;
var speed = firstxpathresult('//select[@name="speed"]') ;

mycheck = document.createElement('input') ;
mycheck.type = 'checkbox' ;
mycheck.checked = GM_getValue('activated',false) ;
mycheck.addEventListener('click',function(evt) { GM_setValue('activated',this.checked) ; },false) ;
mylabel = document.createElement('label') ;
mylabel.appendChild(mycheck) ;
mylabel.appendChild(document.createTextNode('Restore')) ;
document.getElementsByName('speed').wrappedJSObject[0].parentNode.insertBefore(mylabel,null) ;

// Save on submit
form.addEventListener('submit',function(evt) {
	if ( GM_getValue('activated',false) ) {
		GM_setValue('planettype',planettype.value) ;
		GM_setValue('speed',speed.value) ;
	}
},false) ;

// Restore on load
if ( GM_getValue('activated',false) ) {
	// Get saved values
	stored_planettype = GM_getValue('planettype',0) ;
	stored_speed = GM_getValue('speed',0) ;
	// Restore
	if ( stored_planettype != 0 )
		planettype.value = stored_planettype ;
	if ( stored_speed != 0 )
		speed.value = stored_speed ;
}

/******************************************************************************/
function firstxpathresult(query) { // Returns first result in array of results of 'query'
	var result = document.evaluate( query , document , null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE , null );
	return result.snapshotItem(0) ;
}