// JavaScript Document
var version='1.0';
var data='23.09.2006';
var licznik = 1; //sprawdza czy raport jest pierwszy, czy drugi "1" - pierwszy
var il=0; // licznik okreslajacy ilosc wykreowanych raportow (2 skany = 1 raport)
var ogolem='';
var msg='';
var string='';
var wiadomosc = '';
var wiadomosc_glowna = '';
var straty_agr=0;
var straty_obr=0;
var name=new Array(
       new Array(),              // ksywki agresorow
       new Array());              // ksywki obroncow
var alignmentsName=new Array(
       new Array(),              // sojusz agresorow
       new Array());              // sojusz obroncow
var rmp_agresora_przed = new Array();
var il_rmp_agresora_przed = new Array();
var il_rmp_agresora_po = new Array(new Array());
var str_obronne_przed = new Array(); //rodzaje struktur obronnych
var il_str_obronne_przed = new Array(); // ilosc poszczegolnych struktur obronnych
var str_obronne_po = new Array(); //rodzaje struktur obronnych
var il_str_obronne_po = new Array(); // ilosc poszczegolnych struktur obronnych
var temp_il_str_obronne_po = new Array();
var paleta_j=new Array(
       new Array('#ff3818','#3b93ed','#d3d3d3','#36bf32'),
       new Array('#ffca7a','#9eff9e','#2bd07e','#ffb3ff','#FFCC99','#ffe990','#0099FF', '#ee9973', '#f3a6d4', '#7fe9cc', '#00b0b0', '#be9fbe', '#deec80', '#adccdb', '#A0FF99', '#99a7ff','#eca8d4', '#CCFFCC', '#cb81fc', '#99FFA0', '#FFCC99', '#ff9900','#eb2727','#eadc66')
       );    //  m.transp[0],d.transp[1],l.mysliw[2],c.mysliw[3],krazowni[4],o.wojen.[5],recykler[6],s.kolon[7],s.szpieg[8],bombowiec[9],s.slon[10],niszczy.[11],g.smierci[12],pancernik[13],wyrz.rak[14],l.laser[15],c.laser[16],gauss[17],jon[18],plazma[19],m.powloka[20],d.powloka[21],p.rak[22],rmp[23]
var paleta_c=new Array(
       new Array('#f02200','#3b93ed','#266c80','#268924'),
       new Array('#00930a', '#27389c', '#995500', '#64be77', '#446633', '#b168b4', '#007799', '#331100', '#ab8534', '#004422', '#c25593', '#443300', '#aa0000', '#70858e', '#004477', '#004411', '#0000aa', '#002233', '#330000', '#002200', '#002255', '#002255', '#ce2020', '#797235')
       );
var tecza_kolorow = new Array('#ffffff','#ffffff');
var ident_kolorow=new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
var temp_color=new Array(
                     new Array(),                      
                     new Array());
var c_tla='#212b42';
var pamiec= new Array(new Array(), new Array (), new Array(), new Array(), new Array (), new Array ());
var cntrp='';       // rw przed  , rw po       , nazwa soja1, nazwa soja2, straty agr  , straty obr
var cntrk='';
var zniszczony=0;
var odnosnik='';
var il_rw = 0;
var jezyk;
var wzorzecNazw = new RegExp("[a-zA-ZżŻźŹćĆńŃłŁśŚąĄęĘóÓ. ]+","g");
var wzorzecLiczb = new RegExp("[0-9.]+","g");
var wzorzecNieLiczb = new RegExp("[^0-9]","g");
var jezyk = 0;

function total (zmienna) {
    
    //jezyk = 0;
    
       if (document.cos.center.checked==true) {
              centrp = "[center]";
              centrk = "[/center]";
       }
    
       if(document.cos.kolor.value==1){
              for(i=0;i<4;i++){
                     temp_color[0][i]=paleta_j[0][i];
              }
              for(i=0;i<24;i++){
                     temp_color[1][i]=paleta_j[1][i];
              }
              c_tla = '#212b42';
       }
       else{
              for(i=0;i<4;i++){
                     temp_color[0][i]=paleta_c[0][i];
              }
              for(i=0;i<24;i++){
                     temp_color[1][i]=paleta_c[1][i];
              }
              c_tla = '#efefef';
       }
       
       //jesli nacisnieto guzik "konwertuj"
	   
	   footer = '\n\n[color=#66FFCC][size=10][url=http://13ot.vline.pl/ogame2.htm] -- Created by 13thGhost\'s MAR converter '+version+' --[/url][/size][/color]';
	   
       if (zmienna=='normal') {
              
          tekstWczytany = document.cos.tekst.value;
        
          //if (document.cos.w_rw.checked==true) {
             //document.cos.tekst2.value='';
          //}
          
          if (licznik == 1) {
          //warunek sprawdza czy raport jest sprzed ataku i jesli tak to:
             pamiec[0][il] = tekstWczytany; // wpisujemy do pamieci rs
			 //alert(pamiec[0][il]);
             beforeAttack();
             name[0][il]=document.cos.nagresora.value;
             name[1][il]=document.cos.nobroncy.value;
             getAlignments();
             document.cos.tekst.value = '';
             licznik++;
          } else {
          //jesli natomiast po ataku to
             pamiec[1][il] = tekstWczytany; // wpisujemy do pamieci rs
             afterAttack();
             countLoses();
             build();
             document.cos.tekst.value = '';
             wiadomosc += centrp+agresor+'\n\n\n'+obronca+'\n\n\n'+document.cos.pbitwie.value+'\n\n\n'+obronca2+centrk+podsumowanie+pokaz_bilans+podliczenie;
             licznik--;
             il++;
             if (document.cos.skroc.checked==true) {
                cutNames();
             }   
             wiadomosc_glowna = wiadomosc+centrp+footer+centrk;
             document.getElementById('i_rw').innerHTML = 'Ilosc RS w pamieci: '+il;
         }
       } else if ((zmienna == 'unnormal') && (document.cos.tekst2.value != '')) {
             document.cos.tekst2.value = '';
             wiadomosc = '';
             il=0;
             licznik = 1;
			 straty_obr=0;
			 straty_agr=0;
			 //alert(pamiec[0][0]+';'+pamiec[0][1]+';'+pamiec[0][2]+';'+pamiec[0][3]);
			 //alert(pamiec[0].length);
         for (loop=0; loop<pamiec[0].length; loop++) {
			 //alert(pamiec[0][loop]);
			 //alert(s);
			 //alert('pamiec [0][s]\n'+pamiec[0][s]);
             tekstWczytany = pamiec[0][loop];
             name[0][loop]=document.cos.nagresora.value;
             name[1][loop]=document.cos.nobroncy.value;                    
             beforeAttack();
			 getAlignments();
             //document.cos.tekst.value = '';
			 //alert('pamiec [1][s]\n'+pamiec[1][s]);
             tekstWczytany = pamiec[1][loop];
             afterAttack();
             countLoses();
             build();
             //document.cos.tekst.value = '';
             wiadomosc += centrp+agresor+'\n\n\n'+obronca+'\n\n\n'+document.cos.pbitwie.value+'\n\n\n'+obronca2+centrk+podsumowanie+pokaz_bilans+podliczenie;
			il++;
             //document.getElementById('i_rw').innerHTML = 'Ilosc RS w pamieci: '+il;      
         }
         if (document.cos.skroc.checked==true) {
             cutNames();
         }
         wiadomosc_glowna = wiadomosc+centrp+footer+centrk;
       }

       document.cos.tekst2.value=wiadomosc_glowna;
       
}


function build () {
    
       //**********************************************************
       //            AGRESOR
       //**********************************************************
       
       agresor = j_agresor[jezyk]+' [b][color='+temp_color[0][0]+']'+name[0][il]+'[/color][/b]';
       
       agresor += buildAlignment(pamiec[2][il]);
       displayUnits (rmp_agresora_przed, il_rmp_agresora_przed, 0);
       agresor += '\n\n '+jedn;
       
       //**********************************************************
       //            OBRONCA
       //**********************************************************       
       
       obronca = j_obronca[jezyk]+' [b][color='+temp_color[0][1]+']'+name[1][il]+'[/color][/b]';
       
       obronca += buildAlignment(pamiec[3][il]);
       displayUnits (str_obronne_przed, il_str_obronne_przed, 0);
       obronca += '\n\n '+jedn;
       
    //**********************************************************
       //            OBRONCA PO
       //**********************************************************       
       
       obronca2 = j_obronca[jezyk]+' [b][color='+temp_color[0][1]+']'+name[1][il]+'[/color][/b]\n';
       if (zniszczony==1) {
          obronca2+= '\n[b][color='+temp_color[0][2]+']'+j_zniszczony[jezyk]+'[/color][/b]';
       } else {
          displayUnits (str_obronne_po, il_str_obronne_po, temp_il_str_obronne_po);
          obronca2 += '\n '+jedn;
       }

    //**********************************************************
    //              PODSUMOWANIE ATAKU - WYPISANIE STRAT W JEDNOSTKACH
    //**********************************************************
     podsumowanie = '';  
    if((document.cos.stan_przed.checked==true)||(document.cos.antares.checked==true))
    {
        podsumowanie = '\n\n -------------------------------------------------------';
        podsumowanie += '\n [size=9]Straty agresora(w) wg oblicze Antaresa: [b][color='+temp_color[0][0]+']'+kropki(pamiec[4][il])+' k[/color][/b][/size]';
        podsumowanie += '\n [size=9]Straty obrocy(w) wg oblicze Antaresa: [b][color='+temp_color[0][1]+']'+kropki(pamiec[5][il])+' k[/color][/b][/size] \n\n';
    }
    
    //**********************************************************
    //              PODSUMOWANIE - BILANS STRACONYCH STRUKTUR OBRONNYCH
    //**********************************************************
    pokaz_bilans ='';
    if (document.cos.bilansik.checked == true) {
        pokaz_bilans = '\n\n Poniesione straty w wojnie:\n';
		il_rmp_agresora_po[0][0]=document.cos.ilosc.value;
        summary (rmp_agresora_przed, il_rmp_agresora_przed, il_rmp_agresora_po);
        pokaz_bilans += '[b][color='+temp_color[0][0]+']'+name[0][il]+'[/color][/b] :'+rekord+'\n';
        summary (str_obronne_przed, il_str_obronne_przed, temp_il_str_obronne_po);
        pokaz_bilans += '[b][color='+temp_color[0][1]+']'+name[1][il]+'[/color][/b] :'+rekord;
    }
    
    //**********************************************************
    //              PODSUMOWANIE WOJENNE W "K" LUB "%"
    //**********************************************************   
    podliczenie = '';
    if ((document.cos.stan_przed.checked == true) || (document.cos.stan_przed2.checked == true)) {
              getLoses ();
              straty_agr += parseInt(pamiec[4][il]);
              straty_obr += parseInt(pamiec[5][il]);
       
           podliczenie = '\n\n******************************************\n[b][color=red]Poniesione straty w wojnie:[/color][/b]\n';
           
		   w_straty_agr = parseInt(straty_agr)+parseInt(suma_str_agr);
		   w_straty_obr = parseInt(straty_obr)+parseInt(suma_str_obr);
		   
        if (document.cos.stan_przed.checked == true) {
            w_straty_agr = w_straty_agr+'k ('+makePercent(w_straty_agr)+'%)\n';
            w_straty_obr = w_straty_obr+'k ('+makePercent(w_straty_obr)+'%)';   
        }
        if (document.cos.stan_przed2.checked == true) {
            w_straty_agr = makePercent(w_straty_agr)+'%\n';
            w_straty_obr = makePercent(w_straty_obr)+'%';
        }
        podliczenie += '[b][color='+temp_color[0][3]+']'+pamiec[2][il]+'[/color][/b] : [color=red]'+w_straty_agr+'[/color]';
        podliczenie += '[b][color='+temp_color[0][3]+']'+pamiec[3][il]+'[/color][/b] : [color=red]'+w_straty_obr+'[/color]'; 
    }
}

function calosc(unnormal) {
	total(unnormal);
}

function cutNames() {
       for (i=0; i<j_okrety[0].length; i++) {
		   struktura = new RegExp(j_okrety[0][i], "g");
           wiadomosc = wiadomosc.replace(struktura, j_skr_struktury[0][i]);
       }
}

function dontCutNames() {
       for (i=0; i<j_okrety[0].length; i++) {
		   struktura = new RegExp(j_skr_struktury[0][i], "g");
           wiadomosc = wiadomosc.replace(struktura, j_okrety[0][i]);
       }
}

function getAlignments () {
	   if (document.cos.sojusz1.value!='') {
           pamiec[2][il]=document.cos.sojusz1.value;
	   } else {
		   pamiec[2][il]='sojusz 1';   
	   }
	   if (document.cos.sojusz2.value!='') {
	       pamiec[3][il]=document.cos.sojusz2.value;
	   } else {
		   pamiec[3][il]='sojusz 2';
	   }
}

function getLoses () {
    suma_str_agr = document.cos.sojusz1_ogolem.value;
    suma_str_obr = document.cos.sojusz2_ogolem.value;
    
    suma_str_agr = suma_str_agr.replace(wzorzecNieLiczb, "");
    suma_str_obr = suma_str_obr.replace(wzorzecNieLiczb, "");
}

function makePercent (wartosc) {
    wynik = Math.round(parseInt(wartosc)*0.3)/100;
	return wynik;
}

function summary (nazwy, ilosci, ilosciPo) {
       //podsumowanie ilosci utraconych struktur
       rekord ='';
       for (i=0; i<nazwy.length;i++) {
		 if ((nazwy[0][0]==j_okrety[jezyk][9]) && (document.cos.ilosc.value=='')) {
			 color (nazwy[0][0], ilosci[0][0]);
			 rekord += ' [color='+kolor+']'+nazwy[0][0]+'[/color]';
		 } else {
           for (n=0; n<nazwy[i].length; n++) {
			   ilosci[i][n] = parseInt(ilosci[i][n])-parseInt(ilosciPo[i][n]);
              color (nazwy[i][n], ilosci[i][n]);
              rekord += ' [color='+kolor+']'+nazwy[i][n]+'( -'+ilosci[i][n]+' )[/color] ';
           }
		 }
       }
       return rekord;
}

function removeSpaces (str) {
          if (str.charAt(0)==' ') {
              str = str.slice(1,str.length);  
          }
          if (str.charAt(str.length-1)==' ') {
              str = str.slice(0,str.length-1);
          }
          string=str;
}

function displayUnits (units, ammounts, ammountsAfter) {
    
       jedn='';
       ilosci = '';
       roznica = '';

	   
       for (i=0; i<units[0].length; i++) {
                //units[0][i]=ciag;
          color (units[0][i]);        
		  if ((document.cos.bilansik2.checked==true) && (ammountsAfter!=0)) {
			  for (j=0; j<str_obronne_przed[0].length; j++) {
				 if (units[0][i]==str_obronne_przed[0][j]) {
					roznica = parseInt(il_str_obronne_przed[0][j])-parseInt(ammounts[0][i]); 
				 }
			  }
			  roznica = '[color=red] (-'+roznica+') [/color]';
	      }
		  
          if(document.cos.takana.checked==true) {
             jedn += " [color="+kolor+"]"+units[0][i]+"[/color]";
             //if ((units[0][i]!=j_okrety[jezyk][9]) && (ammounts[0][i]!='')) {
                 ilosci += " [color="+kolor+"]"+ammounts[0][i]+"[/color]"+roznica;

             //}
           }
          if(document.cos.pod.checked==true) {
             jedn += "[color="+kolor+"]"+units[0][i]+" ";
                      if (units[0][0]==j_okrety[jezyk][9]) {
                           if (ammounts[0][0]!='') {
                            jedn +=": "+ammounts[0][i]; 
						   }
					  } else {
						    jedn +=": "+ammounts[0][i]; 
					  }
        
                      jedn += "[/color]"+roznica+"\n";
          }
          if(document.cos.nawiasy.checked==true) {
             jedn += "[color="+kolor+"]"+units[0][i];
                       if (units[0][0]==j_okrety[jezyk][9]) {
                           if (ammounts[0][0]!='') {
                              jedn +="("+ammounts[0][i]+")";
						   }
                      } else {
						      jedn +="("+ammounts[0][i]+")";
					  }
                      jedn += "[/color]"+roznica;
          }
       }
       
       if (document.cos.takana.checked==true) {
              jedn = j_typ[jezyk]+jedn;
                       if (units[0][0]==j_okrety[jezyk][9]) {
                           if (ammounts[0][0]!='') {
						      jedn+="\n"+j_il[jezyk]+ilosci; 
						  }
                       } else {
						  jedn+="\n"+j_il[jezyk]+ilosci; 
					   }
       }
       return jedn;
}

function buildAlignment (nazwaSojuszu) {
              if(document.cos.sojusze.checked==true){
                     sojusz='[size=9][color='+temp_color[0][3]+'] .: '+nazwaSojuszu+' :. [/color][/size]';
              }
              else
              {
                     sojusz='';       
              }
              
              return sojusz;
}

function findStructures () {
// funkcja znajdujaca obrone

    if (tekstWczytany.indexOf(j_obrona[jezyk]) != -1) {
        obrona = tekstWczytany.indexOf(j_obrona[jezyk])+j_obrona[jezyk].length;
    } else {
        obrona = 0;
    }

    //ustalanie koncowki informacji o obronie
    if (tekstWczytany.indexOf(j_okrety[jezyk][8]) != -1) {
        koniec = tekstWczytany.indexOf(j_okrety[jezyk][8]);
    } else if (tekstWczytany.indexOf(j_okrety[jezyk][9]) != -1) {
        koniec = tekstWczytany.indexOf(j_okrety[jezyk][9]);
    } else if (tekstWczytany.indexOf(j_budynki[jezyk]) != -1) {
        koniec = tekstWczytany.indexOf(j_budynki[jezyk]);
    } else if (tekstWczytany.indexOf(j_badania[jezyk]) != -1){
        koniec = tekstWczytany.indexOf(j_badania[jezyk]);
    } else {
        koniec = tekstWczytany.indexOf(j_szansa[jezyk]);
    }
    
    tekstWczytany = tekstWczytany.slice(obrona,koniec); //zmienna ktora aktualnie przechowuje wycinek z obrona
}

function beforeAttack () {
// funkcja wyszukujaca struktury obronne przed atakiem
    findStructures();
    
    rmp_agresora_przed[0] = new Array();
    il_rmp_agresora_przed[0] = new Array();
       
    str_obronne_przed[0] = new Array();
    il_str_obronne_przed[0] = new Array();
    
    rmp_agresora_przed[0][0]=j_okrety[jezyk][9];
    il_rmp_agresora_przed[0][0]=document.cos.ilosc.value;
       
    str_obronne_przed[0] = tekstWczytany.match(wzorzecNazw);
    il_str_obronne_przed[0] = tekstWczytany.match(wzorzecLiczb);
}

function afterAttack () {
// funkcja wyszukujaca struktury obronne po ataku
    findStructures();
    
    str_obronne_po[0] = new Array();
    il_str_obronne_po[0] = new Array();
    
    str_obronne_po[0] = tekstWczytany.match(wzorzecNazw);
    il_str_obronne_po[0] = tekstWczytany.match(wzorzecLiczb);
    if (tekstWczytany.length==1) {
        zniszczony = 1;
        il_str_obronne_po[0] = new Array();
        for (i=0; i<str_obronne_przed[0].length;i++) {
         il_str_obronne_po[0][i]=0;
        }
    }
}

function countLoses () {
// funkcja przeliczajaca straty
    tempArray = new Array();
    //wyliczenie ilosci straconych struktur
    if(zniszczony == 0) {
       for (i=0; i<str_obronne_po[0].length; i++) {
           removeSpaces(str_obronne_po[0][i]);       
              str_obronne_po[0][i]=string;
       }   
       for (i=0; i<str_obronne_przed[0].length; i++) {
              removeSpaces(str_obronne_przed[0][i]);
              str_obronne_przed[0][i]=string;
         for (u=0; u<str_obronne_po[0].length; u++) {        
           tempArray[i]=0;
           if (str_obronne_przed[0][i]==str_obronne_po[0][u]) {
               tempArray[i] = il_str_obronne_po[0][u];
               break;
           }
        }
      }
    } else {
       for (i=0; i<str_obronne_przed[0].length; i++) {
           tempArray[i]=0;
		   removeSpaces(str_obronne_przed[0][i]);
		   str_obronne_przed[0][i]=string;
       }
    }

    //str_obronne_po[0] = str_obronne_przed[0];  //wpisanie do struktur obronnych po bitwie, tych sprzed bitwy
    temp_il_str_obronne_po[0] = tempArray;  // wpisanie wyliczonych ilosci struktur wlacznie z zerami
    
       //**********************************************************
       //       zliczanie kosztow poniesionych strat
       //**********************************************************

	   pamiec[4][il] = 0;
	   pamiec[5][il] = 0;
          if (document.cos.dolicz.checked==true) {
			    if (document.cos.ilosc.value!='') {
                    pamiec[4][il] = parseInt(document.cos.ilosc.value)*parseInt(j_koszt[9]);
					pamiec[4][il] = parseInt(pamiec[4][il])/1000;
				} else {
				    alert('Nie podałeś/łaś liczby użytych Rakiet Międzyplanetarnych');
				}
          }
          
       for (i=0; i<str_obronne_przed[0].length; i++) {
              
              stracone_jednostki=parseInt(il_str_obronne_przed[0][i])-parseInt(temp_il_str_obronne_po[0][i]);
              switch (str_obronne_przed[0][i]) {
                     case j_okrety[jezyk][0] :
                        pamiec[5][il]+=parseInt(stracone_jednostki)*parseInt(j_koszt[0]);
                        break;
                     case j_okrety[jezyk][1] :
                        pamiec[5][il]+=parseInt(stracone_jednostki)*parseInt(j_koszt[1]);
                        break;
                     case j_okrety[jezyk][2] :
                        pamiec[5][il]+=parseInt(stracone_jednostki)*parseInt(j_koszt[2]);
                        break;
                     case j_okrety[jezyk][3] :
                        pamiec[5][il]+=parseInt(stracone_jednostki)*parseInt(j_koszt[3]);
                        break;
                     case j_okrety[jezyk][4] :
                        pamiec[5][il]+=parseInt(stracone_jednostki)*parseInt(j_koszt[4]);
                        break;
                     case j_okrety[jezyk][5] :
                        pamiec[5][il]+=parseInt(stracone_jednostki)*parseInt(j_koszt[5]);
                        break;
                     case j_okrety[jezyk][6] :
                        pamiec[5][il]+=parseInt(stracone_jednostki)*parseInt(j_koszt[6]);
                        break;
                     case j_okrety[jezyk][7] :
                        pamiec[5][il]+=parseInt(stracone_jednostki)*parseInt(j_koszt[7]);
                        break;                     
                     case j_okrety[jezyk][8] :
                        if (document.cos.dolicz.checked==true) {
                           pamiec[5][il]+=parseInt(stracone_jednostki)*parseInt(j_koszt[8]);
                        }
                        break;
					// zakomentowany kawalek ktory ewentualnie doliczalby straty RMP obroncy - wiec nie bardzo logiczne :P
                    /* case j_okrety[jezyk][9] :
                        if (document.cos.dolicz.checked==true) {
                           pamiec[5][il]+=parseInt(stracone_jednostki)*parseInt(j_koszt[9]);
                        }
                        break;*/
              }
       }
	   pamiec[5][il]=parseInt(pamiec[5][il])/1000;
       
    //alert(str_obronne_po[0]+";"+il_str_obronne_po[0]);
}

function clr(){
       document.cos.tekst2.value='';
       document.cos.tekst.value='';
       rs='';
       wiadomosc='';
       wiadomosc_glowna='';
       licznik=1;
       straty_agr=0;
	   straty_obr=0;
       ogolem = '';
       il=0;
       document.getElementById('i_rw').innerHTML = 'Ilosc RS w pamieci: '+il;
       str_obronne_przed = new Array();
       il_str_obronne_przed = new Array();
       str_obronne_po = new Array();
       il_str_obronne_po = new Array();
       pamiec= new Array(new Array(), new Array (), new Array(), new Array(), new Array (), new Array ());
       zniszczony=0;
}

function skroc_nazwy(flotka){
    for (i=0; i<j_okrety[jezyk].length; i++) {
              dlugaNazwa= new RegExp (j_okrety[jezyk][i],"g");
           
              wiadomosc = wiadomosc.replace(wzorzec, j_skr_struktury[jezyk][i]);
       }
}

function color(structure){
       kolor='';
              switch(structure)
              {
              case j_okrety[jezyk][0]:
                     kolor=temp_color[1][14];
              break;
              case j_okrety[jezyk][1]:
                     kolor=temp_color[1][15];
              break;
              case j_okrety[jezyk][2]:
                     kolor=temp_color[1][16];
              break;
              case j_okrety[jezyk][3]:
                     kolor=temp_color[1][17];
              break;
              case j_okrety[jezyk][4]:
                     kolor=temp_color[1][18];
              break;
              case j_okrety[jezyk][5]:
                     kolor=temp_color[1][19];
              break;
              case j_okrety[jezyk][6]:
                     kolor=temp_color[1][20];
              break;
              case j_okrety[jezyk][7]:
                     kolor=temp_color[1][21];
              break;
              case j_okrety[jezyk][8]:
                     kolor=temp_color[1][22];
              break;
              case j_okrety[jezyk][9]:
                     kolor=temp_color[1][23];
              break;
              }
       return kolor;
}

<!--         PALETA KOLOROW

function kolorki(){
       paleta='';
       if(document.cos.kolor.value==1){
              for(i=0;i<4;i++){
                     temp_color[0][i]=paleta_j[0][i];
              }
              for(i=0;i<24;i++){
                     temp_color[1][i]=paleta_j[1][i];
              }
              selection = '<select name="kolor2" style="width:150px;" class="oknatekstowe" onChange="bg_paletka()"><option value="1">Ciemne(jak w Ogame)</option><option value="2">Jasne</option></select>';
       }
       else{
              for(i=0;i<4;i++){
                     temp_color[0][i]=paleta_c[0][i];
              }
              for(i=0;i<24;i++){
                     temp_color[1][i]=paleta_c[1][i];
              }
              selection = '<select name="kolor2" style="width:150px;" class="oknatekstowe" onChange="bg_paletka()"><option value="2">Jasne</option><option value="1">Ciemne(jak w Ogame)</option></select>';
       }
       paleta = '<br><br><br><table cellpadding=1 class=\'styl_palety\' id="tabela_k">';
       paleta += '<tr><td colspan=5 align="center"><br><u>Zmian tla mozna dokonywac na bierzaco poprzez wybor w okienku <b>"Tlo: "</b></u><br><br><br></td></tr>';
       paleta += '<tr><td width="20px"><input type="checkbox" id="k1" onFocus="usun_ramki()" onChange="wylacz(\'k1\')"></td><td><div id="k1a" style="color:'+temp_color[0][0]+';">Agresor</div></td><td width="20px"><input type="checkbox" id="k7" onFocus="usun_ramki()" onChange="wylacz(\'k7\')"></td><td><div id="k7a" style="color:'+temp_color[1][17]+';">Gauss</div></td><td rowspan=7 id="paletka" width=240 style="vertical-align:top; padding: 20px 20 px 20px 20px;">'+generator_palety()+'</td></tr>';
       paleta += '<tr><td><input type="checkbox" id="k2" onFocus="usun_ramki()" onChange="wylacz(\'k2\')"></td><td><div id="k2a" style="color:'+temp_color[0][1]+';">Obornca</div></td><td><input type="checkbox" id="k8" onFocus="usun_ramki()" onChange="wylacz(\'k8\')"></td><td><div id="k8a" style="color:'+temp_color[1][18]+';">Jon</div></td></tr>';
       paleta += '<tr><td><input type="checkbox" id="k3" onFocus="usun_ramki()" onChange="wylacz(\'k3\')"></td><td><div id="k3a" style="color:'+temp_color[0][3]+';">Sojusz</div></td><td><input type="checkbox" id="k9" onFocus="usun_ramki()" onChange="wylacz(\'k9\')"></td><td><div id="k9a" style="color:'+temp_color[1][19]+';">Plazma</div></td></tr>';
       paleta += '<tr><td><input type="checkbox" id="k14" onFocus="usun_ramki()" onChange="wylacz(\'k14\')"></td><td><div id="k14a" style="color:'+temp_color[0][2]+';">Zniszczony</div></td><td><input type="checkbox" id="k10" onFocus="usun_ramki()" onChange="wylacz(\'k10\')"></td><td><div id="k10a" style="color:'+temp_color[1][20]+';">M.powloka</div></td></tr>';
       paleta += '<tr><td><input type="checkbox" id="k4" onFocus="usun_ramki()" onChange="wylacz(\'k4\')"></td><td><div id="k4a" style="color:'+temp_color[1][14]+';">Wyrz.rak</div></td><td><input type="checkbox" id="k11" onFocus="usun_ramki()" onChange="wylacz(\'k11\')"></td><td><div id="k11a" style="color:'+temp_color[1][21]+';">D.powloka</div></td></tr>';
       paleta += '<tr><td><input type="checkbox" id="k5" onFocus="usun_ramki()" onChange="wylacz(\'k5\')"></td><td><div id="k5a" style="color:'+temp_color[1][15]+';">L.laser</div></td><td><input type="checkbox" id="k12" onFocus="usun_ramki()" onChange="wylacz(\'k12\')"></td><td><div id="k12a" style="color:'+temp_color[1][22]+';">Przeciwrakieta</div></td></tr>';
       paleta += '<tr><td><input type="checkbox" id="k6" onFocus="usun_ramki()" onChange="wylacz(\'k6\')"></td><td><div id="k6a" style="color:'+temp_color[1][16]+';">C.laser</div></td><td><input type="checkbox" id="k13" onFocus="usun_ramki()" onChange="wylacz(\'k13\')"></td><td><div id="k13a" style="color:'+temp_color[1][23]+';">Rakieta Międzyplanetarna</div></td></tr>';
       paleta += '<tr><td colspan=5 id="tecza_ramka" style="padding-bottom:10px; border:1px solid #ffffff; color:#ff3818;"><input type="checkbox" id="tecza" style="margin-left:10px; font-weight:bold;" onClick="sprawdz(\'tecza\');wylacz(\'wszystko\')">Utwrz tecze kolorw zaczynajac od koloru 1 a konczac na kolorze 2<br><span><input type="checkbox" id="t1" style="float:left; display:block; margin-left:80px;" onClick="sprawdz(\'t1\')"></span><span style="float:left; display:block; color:#ffffff;" id="t1a">Kolor1</span><span><input type="checkbox" id="t2" style="float:left; display:block;" onClick="sprawdz(\'t2\')"></span><span style="float:left; display:block; color:#ffffff;" id="t2a">Kolor2</span></td></tr>';
       paleta += '<tr><td colspan=5>Tlo : '+selection;
       //paleta += '<span style="margin-left:150px;"><input type="checkbox" id="ramka" onChange="ramki()">Pokaz wszystkie wybrane kolory</span>';
       paleta += '</td></tr>';
       paleta += '<tr><td colspan=5><input type="button" value="Zapisz" class="guziki" onClick="zapisz_kolory()"><input type="button" value="Wczytaj" class="guziki" onClick="wczytaj_kolory()"></td></tr>';
       paleta += '<tr><td colspan=5><div onClick="zresetuj()" style="text-align:center; cursor:pointer; padding-top:10px;">[Zresetuj kolory]</div></td></tr>';
       paleta += '<tr><td colspan=5><div onClick="i_schowaj()" style="text-align:center; cursor:pointer; padding-top:10px;">[Zamknij]</div></td></tr></table>';       
       document.getElementById("obsluga").innerHTML = paleta;
       if(document.cos.kolor.value==1){
              document.getElementById('tabela_k').style.background = '#212b42';       
       }
       else{
              document.getElementById('tabela_k').style.background = '#efefef';              
       }
}
function generator_palety(){
var podstawy = new Array('0','2','4','6','8','9','C','F');
var paleta_kolorow = new Array();

var r, g, b;
var c = 36;

for (gn = 0; gn < podstawy.length; gn++)
{
       r = podstawy[gn];

       for (rn = 0; rn < podstawy.length; rn++)
       {
              g = podstawy[rn];

              for (bn = 0; bn < podstawy.length; bn++)
              {
                     b = podstawy[bn];

                     paleta_kolorow[paleta_kolorow.length] = '#' + r + r + g + g + b + b;
              }
       }
}

for (nn = 0; nn <podstawy.length; nn++){
       rgb = podstawy[nn];
       for (nn1 = 0; nn1 <podstawy.length; nn1++){
       rgb1 = podstawy[nn1];
              paleta_kolorow[paleta_kolorow.length] = '#' + rgb + rgb1 + rgb + rgb1 + rgb + rgb1;
       }

}

var colorCodes = '';
for (n = 0; n < paleta_kolorow.length; n++)
{
       if(-1 != navigator.userAgent.indexOf("MSIE"))
    {
    // Internet Explorer
    colorCodes += '<span style="margin:1px; text-align: right; float:left; display: block; width: 8px; height: 8px; background-color:' + paleta_kolorow[n] + '" onclick="setColor(\''+paleta_kolorow[n]+'\',\'p'+n+'\')" id="p'+n+'"></span>';
    }
       else{
       colorCodes += '<span style="margin:1px; text-align: right; float:left; display: block; width: 10px; height: 10px; background-color:' + paleta_kolorow[n] + '" onclick="setColor(\''+paleta_kolorow[n]+'\',\'p'+n+'\')" id="p'+n+'"></span>';      
       }

}
return colorCodes;
}


function setColor(color, identyfikatorek){
var temp_color=new Array(
                     new Array(),                      
                     new Array());
       
       if(document.cos.k1.checked == true){
              document.getElementById('k1a').style.color=color;
              tc(0,0,color);
              h=1;
       }
       else if(document.cos.k2.checked == true){
              document.getElementById('k2a').style.color=color;
              tc(0,1,color);
              h=2;
       }
       else if(document.cos.k3.checked == true){
              document.getElementById('k3a').style.color=color;
              tc(0,3,color);
              h=3;
       }
       else if(document.cos.k4.checked == true){
              document.getElementById('k4a').style.color=color;
              tc(1,14,color);
              h=4;
       }
       else if(document.cos.k5.checked == true){
              document.getElementById('k5a').style.color=color;
              tc(1,15,color);
              h=5;
       }
       else if(document.cos.k6.checked == true){
              document.getElementById('k6a').style.color=color;
              tc(1,16,color);
              h=6;
       }
       else if(document.cos.k7.checked == true){
              document.getElementById('k7a').style.color=color;
              tc(1,17,color);
              h=7;
       }              
       else if(document.cos.k8.checked == true){
              document.getElementById('k8a').style.color=color;
              tc(1,18,color);
              h=8;
       }
       else if(document.cos.k9.checked == true){
              document.getElementById('k9a').style.color=color;
              tc(1,19,color);
              h=9;
       }
       else if(document.cos.k10.checked == true){
              document.getElementById('k10a').style.color=color;
              tc(1,20,color);
              h=10;
       }
       else if(document.cos.k11.checked == true){
              document.getElementById('k11a').style.color=color;
              tc(1,21,color);
              h=11;
       }
       else if(document.cos.k12.checked == true){
              document.getElementById('k12a').style.color=color;
              tc(1,22,color);
              h=12;
       }
       else if(document.cos.k13.checked == true){
              document.getElementById('k13a').style.color=color;
              tc(1,23,color);
              h=13;
       }       
       
       else if(document.cos.tecza.checked == true){
              if(document.getElementById('t2').checked==true)
              {
                     document.getElementById('t2a').style.color=color;
                     tecza_kolorow[1]=color;
                     h=15;
              }
              else if(document.getElementById('t1').checked==true)
              {
                     document.getElementById('t1a').style.color=color;
                     tecza_kolorow[0]=color;
                     h=16;
              }
              tecza(j_okrety[jezyk].length,4,j_okrety[jezyk].length+3);
       }
       
       if(h!=0)
       {
       
              if(ident_kolorow[h]!=0)
              {
                     document.getElementById(ident_kolorow[h]).style.border='none';
                     if(-1 != navigator.userAgent.indexOf("MSIE"))
                     {
                            document.getElementById(ident_kolorow[h]).style.width='6px';
                            document.getElementById(ident_kolorow[h]).style.height='6px';
                     }
                     else
                     {
                            document.getElementById(ident_kolorow[h]).style.width='10px';       
                            document.getElementById(ident_kolorow[h]).style.height='10px';
                     }       
              }
       
              document.getElementById(identyfikatorek).style.border='1px solid #ff00f6';
              if(-1 != navigator.userAgent.indexOf("MSIE"))
              {
                     document.getElementById(identyfikatorek).style.width='3px';
                     document.getElementById(identyfikatorek).style.height='3px';
              }
              else
              {
                     document.getElementById(identyfikatorek).style.width='6px';       
                     document.getElementById(identyfikatorek).style.height='6px';
              }              
              ident_kolorow[h]=identyfikatorek;

       }
}


function tc(p1,p2,color){
       if(document.cos.kolor2.value==1){
              stary_col = paleta_j[p1][p2];
              paleta_j[p1][p2]=color;
       }
       else{
              stary_col = paleta_c[p1][p2];
              paleta_c[p1][p2]=color;
       }
       re = new RegExp(stary_col,"gi");
       document.cos.tekst2.value = document.cos.tekst2.value.replace(re,color);
}


function wylacz(kid){
       for(d=1;d < 15;d++){
              d1 = 'k'+d;
              if(d1!=kid){
              document.getElementById(d1).checked = false;
              }
       }       
}


function zresetuj(){


var paleta_j=new Array(
       new Array('#ff3818','#3b93ed','#d3d3d3','#36bf32'),
       new Array('#ffca7a','#9eff9e','#2bd07e','#ffb3ff','#FFCC99','#ffe990','#0099FF', '#ee9973', '#f3a6d4', '#7fe9cc', '#00b0b0', '#be9fbe', '#deec80', '#adccdb', '#A0FF99', '#99a7ff','#eca8d4', '#CCFFCC', '#cb81fc', '#99FFA0', '#FFCC99', '#ff9900','#eb2727','#eadc66')
       );    //  m.transp[0],d.transp[1],l.mysliw[2],c.mysliw[3],krazowni[4],o.wojen.[5],recykler[6],s.kolon[7],s.szpieg[8],bombowiec[9],s.slon[10],niszczy.[11],g.smierci[12],pancernik[13],wyrz.rak[14],l.laser[15],c.laser[16],gauss[17],jon[18],plazma[19],m.powloka[20],d.powloka[21],p.rak[22],rmp[23]
var paleta_c=new Array(
       new Array('#f02200','#3b93ed','#266c80','#268924'),
       new Array('#00930a', '#27389c', '#995500', '#64be77', '#446633', '#b168b4', '#007799', '#331100', '#ab8534', '#004422', '#c25593', '#443300', '#aa0000', '#70858e', '#004477', '#004411', '#0000aa', '#002233', '#330000', '#002200', '#002255', '#002255', '#ce2020', '#797235')
       );
              
       if(document.cos.kolor2.value=='1'){
              document.getElementById('k1a').style.color = paleta_j[0][0];
              document.getElementById('k2a').style.color = paleta_j[0][1];
              document.getElementById('k3a').style.color = paleta_j[0][3];
              document.getElementById('k14a').style.color = paleta_j[0][2];
              zr1=14;
              for(zr=4;zr<(parseInt(j_okrety[jezyk].length)+4);zr++) {
                     document.getElementById('k'+zr+'a').style.color = paleta_j[1][zr1];
                     zr1++;
              }
       }
       else{
              document.getElementById('k1a').style.color = paleta_c[0][0];
              document.getElementById('k2a').style.color = paleta_c[0][1];
              document.getElementById('k3a').style.color = paleta_c[0][3];
              document.getElementById('k14a').style.color = paleta_c[0][2];
              zr1=14;
              for(zr=4;zr<(parseInt(j_okrety[jezyk].length)+4);zr++){
                     document.getElementById('k'+zr+'a').style.color = paleta_c[1][zr1];
                     zr1++;
              }
       }
	   for(i=0;i<4;i++)
       {
              tc(0,i,paleta_j[0][i]);
       }
       for(i=0;i<paleta_j[1].length;i++)
       {
              tc(1,i,paleta_j[1][i]);
       }
}
function bg_paletka2(){
       if(document.cos.kolor.value=='2'){
              for(cntr=0;cntr<paleta_j[0].length;cntr++){
                     re = new RegExp(paleta_j[0][cntr],"gi");
                     document.cos.tekst2.value = document.cos.tekst2.value.replace(re,paleta_c[0][cntr]);
              }
              for(cntr=0;cntr<paleta_j[1].length;cntr++){
                     re = new RegExp(paleta_j[1][cntr],"gi");
                     document.cos.tekst2.value = document.cos.tekst2.value.replace(re,paleta_c[1][cntr]);
              }
              c_tla = '#efefef';
       }
       else{
              for(cntr=0;cntr<paleta_c[0].length;cntr++){
                     re = new RegExp(paleta_c[0][cntr],"gi");
                     document.cos.tekst2.value = document.cos.tekst2.value.replace(re,paleta_j[0][cntr]);
              }
              for(cntr=0;cntr<paleta_c[1].length;cntr++){
                     re = new RegExp(paleta_c[1][cntr],"gi");
                     document.cos.tekst2.value = document.cos.tekst2.value.replace(re,paleta_j[1][cntr]);
              }
              c_tla = '#212b42';
       }
}
function bg_paletka(){
       if(document.cos.kolor2.value=='2'){
              document.getElementById('tabela_k').style.background = '#efefef';
              document.getElementById('k1a').style.color = paleta_c[0][0];
              document.getElementById('k2a').style.color = paleta_c[0][1];
              document.getElementById('k3a').style.color = paleta_c[0][3];
              document.getElementById('k14a').style.color = paleta_c[0][2];
              zr1=14;
              for(zr=4;zr<(parseInt(j_okrety[jezyk].length)+zr);zr++){
                     document.getElementById('k'+zr+'a').style.color = paleta_c[1][zr1];
                     zr1++;
              }
       }
       else{
              document.getElementById('tabela_k').style.background = '#212b42';
              document.getElementById('k1a').style.color = paleta_j[0][0];
              document.getElementById('k2a').style.color = paleta_j[0][1];
              document.getElementById('k3a').style.color = paleta_j[0][3];
              document.getElementById('k14a').style.color = paleta_j[0][2];
              zr1=14;
              for(zr=4;zr<(parseInt(j_okrety[jezyk].length)+zr);zr++){
                     document.getElementById('k'+zr+'a').style.color = paleta_j[1][zr1];
                     zr1++;
              }              
       }
}

function usun_ramki()
{              
              for(f=1;f<15;f++)
              {
                     numerek=ident_kolorow[f];
                     
                     document.getElementById(numerek).style.border='none';
                     if(-1 != navigator.userAgent.indexOf("MSIE"))
                     {
                            document.getElementById(numerek).style.width='6px';
                            document.getElementById(numerek).style.height='6px';
                     }
                     else
                     {
                            document.getElementById(numerek).style.width='10px';       
                            document.getElementById(numerek).style.height='10px';
                     }
              }
       
}

function wylacz(kid){
       
       if(kid=='wszystko')
       {
              if(document.getElementById('tecza').checked==true)
              {
                     for(d=1;d < 15;d++){
                            d1 = 'k'+d;
                            document.getElementById(d1).disabled = true;
                     }
              }
              else
              {
                     for(d=1;d < 15;d++){
                            d1 = 'k'+d;
                            document.getElementById(d1).disabled = false;
                     }       
              }
       }
       
       else{
              for(d=1;d < 15;d++){
                     d1 = 'k'+d;
                     if(d1!=kid){
                     document.getElementById(d1).checked = false;
                     }
              }
       
              wzor = new RegExp("[0-9]","g");
              tt=kid.match(wzor);
              numerek=ident_kolorow[tt];

                     if(numerek!=0)
                     {
                     
                            document.getElementById(numerek).style.border='1px solid #ff00f6';
                            if(-1 != navigator.userAgent.indexOf("MSIE"))
                            {
                                   document.getElementById(numerek).style.width='3px';
                                   document.getElementById(numerek).style.height='3px';
                            }
                            else
                            {
                                   document.getElementById(numerek).style.width='6px';       
                                   document.getElementById(numerek).style.height='6px';
                            }
                     }
       //}
       }
}
<!--
