// version 0.4
// 03 ottobre 2006
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
// Cargo necessari per una costruzione SOLO commander!
// ==UserScript==
// @name OGameIt-CargoNecessaroCommander
// @author Pippo1985
// @descrizione: Cargo necessari per una costruzione only COMMANDER
// @include      http://uni*.ogame.it/game/*
// @include      http://ogame*.de/game/*
// ==/UserScript==
//
// CAMBIAMENTI:
// 0.1 creazione dello script.
// 0.2 Corretto Bug nel calcolo delle risorse.
// 0.3 Aumentata la leggibilità del testo.
// 0.4 Le risorse nulle non vengono visualizzate


(function(){

	if (location.pathname.search('building') != -1 ) {		
		
		var unsafeWindow=this.unsafeWindow;
		unsafeWindow.disponibili = new Object();
		var pagina = document.getElementsByTagName ('td');
		var name=new Array();
		var nameris=new Array();
		var pasx=new Array();
		var manca=new Array();
		
		unsafeWindow.disponibili[0]= parseInt(pagina[18].innerHTML.replace(".","").replace(".","").replace("<font color=\"#ff0000\">",""));
		unsafeWindow.disponibili[1]= parseInt(pagina[19].innerHTML.replace(".","").replace(".","").replace("<font color=\"#ff0000\">",""));
		unsafeWindow.disponibili[2]= parseInt(pagina[20].innerHTML.replace(".","").replace(".","").replace("<font color=\"#ff0000\">",""));
		unsafeWindow.disponibili[3]= parseInt(pagina[21].innerHTML.replace(".","").replace(".","").replace("<font color=\"#ff0000\">",""));
		
		name[0]='Metallo:';
		name[1]='Cristallo:';
		name[2]='Deuterio:';
		name[3]='Energia:';
		nameris[0]='Met:';
		nameris[1]='Cri:';
		nameris[2]='Deu:';

		for (var i = 0; i < pagina.length; i++) {
			if (pagina[i].className == 'l'){
				evento = pagina[i].innerHTML;
				if (evento.search('noresources')!=-1){
					manca[0]=0;
					manca[1]=0;
					manca[2]=0;
					manca[3]=0;
					//Trova la prima risorsa mancante
					pasx[0]=evento.search('noresources');
					for(var q = 0; evento[pasx[0]+q]!='>';q++){}
					for(var r = q; evento[pasx[0]+r]!='<';r++){}
					ini=pasx[0]+q+1;
					fin=pasx[0]+r;
					var w = parseInt(evento.substring(ini,fin).replace(".","").replace(".",""));
					sub1=evento.substring(pasx[0]+r+1,evento.length);
					subtemp=evento.substring(0,pasx[0]+q+1);
					//Cerco che risorsa ho trovato
					var flag=0;
					var flag2=0;
					for(var s=0; s<3 && flag == 0; s++){
						if (subtemp.search(name[s])!=-1 && subtemp.search(name[s+1])!=-1){
							manca[s+1]=w-unsafeWindow.disponibili[s+1];
							flag=1;
							flag2=1;
						}
						if (subtemp.search(name[s])!=-1 && flag2==0){
							manca[s]=w-unsafeWindow.disponibili[s];
							flag=1;
						}
						
					}
					if (sub1.search('noresources')!=-1){
						//Mi becca la seconda risorsa mancante
						pasx[0]=sub1.search('noresources');
						for(var q = 0; sub1[pasx[0]+q]!='>';q++){}
						for(var r = q; sub1[pasx[0]+r]!='<';r++){}
						ini=pasx[0]+q+1;
						fin=pasx[0]+r;
						var w = parseInt(sub1.substring(ini,fin).replace(".","").replace(".",""));
						var flag=0;
						for(var s=0; s<3 && flag == 0; s++){
							if (sub1.search(name[s])!=-1){
								manca[s]=w-unsafeWindow.disponibili[s];
								flag=1;
							}
						}
						sub2=sub1.substring(pasx[0]+r+1,sub1.length);
						if (sub2.search('noresources')!=-1){
							//Mi becca la terza risorsa mancante
							pasx[0]=sub2.search('noresources');
							for(var q = 0; sub2[pasx[0]+q]!='>';q++){}
							for(var r = q; sub2[pasx[0]+r]!='<';r++){}
							ini=pasx[0]+q+1;
							fin=pasx[0]+r;
							var w = parseInt(sub2.substring(ini,fin).replace(".","").replace(".",""));
							var flag=0;
							for(var s=0; s<3 && flag == 0; s++){
								if (sub2.search(name[s])!=-1){
									manca[s]=w-unsafeWindow.disponibili[s];
									flag=1;
								}
							}
						}
					}
					neededtot = manca[0] + manca[1] + manca[2];
					if (neededtot>0){
						evento=evento.replace("<br>Tempo","<br>Necessari: <b><font color='#00FF00'>" + Math.ceil(neededtot/25000) + "</b> Cargo Pesante</font> oppure <font color='#00FF00'><b>" +  Math.ceil(neededtot/5000) + " </b>Cargo Leggero</font> <br>Tempo");
						evento=evento.replace("<br>Tempo","<br>Trasporto: <br>Tempo");
						for (var v = 0; v < 3; v++){
							if (manca[v]!=0){
								evento=evento.replace("<br>Tempo","<font color='#00FF00'>" + nameris[v] + "<b> " + Math.ceil(manca[v]/1000) + "k </b></font><br>Tempo");
							}
						}
						pagina[i].innerHTML=evento;
					}
													
				}

			}
		}
	}
}) ();