

 // ---------------------- operacje wylacznie po stronie klienta  -----------------------


 function odswiez() {
  while (this.obj.options.length > 0) this.obj.remove(0)
  var podzial = 0;
  for (i = 0; ((art = this.artykuly[i]) != undefined); i++) {
   opcja = document.createElement("OPTION");
   opcja.value = art.nazwa;
   opcja.selected = art.zaznaczony;
   if (art.nazwa == "podzial") {
    podzial++;
    if (podzial == 1) {
	    tekst=document.createTextNode("--------------------------> koniec #" + podzial + " --------");
	 } else if (podzial == 2) {
	    tekst=document.createTextNode("--------------------------> ARCHIWUM <--------");
	 } else {
	    tekst=document.createTextNode("--------------------------> koniec #"  + (podzial - 2) + " --------");
	 }
   } else {
    tekst=document.createTextNode(art.data + " - " + art.tytul);
   }
   opcja.appendChild(tekst);
   this.obj.appendChild(opcja);
  }
 }

 function update() {
  var opcje = this.obj.options;
  this.pierwszeZaznaczone = -1
  this.zaznaczone = new Array();
  for (i = 0; i < opcje.length; i++) {
   if (opcje.item(i).selected == true) {
    if (this.pierwszeZaznaczone == -1) {
     this.pierwszeZaznaczone = i;
    }
    this.artykuly[i].zaznaczony = true;
    this.zaznaczone.push(this.artykuly[i]);
   } else {
    this.artykuly[i].zaznaczony = false;
   }
  }
  return this.zaznaczone
 }

 function up() {
  ruszane = true;
  this.update()
  if (!this.artykuly[0].zaznaczony) {
   for (i = 1; ((art = this.artykuly[i]) != undefined); i++) {
    if (art.zaznaczony) {
     art2 = this.artykuly.splice(i-1 ,1)
     for (i = i ; ((this.artykuly[i] != undefined)&&(this.artykuly[i].zaznaczony == true)); i++) {}
      this.artykuly.splice(i, 0 , art2[0])
     }
    }
  }
  this.odswiez()
 }

 function down() {
  ruszane = true;
  this.update()
  var d = this.artykuly.length - 1;
  if (!this.artykuly[d].zaznaczony) {
   for (i = d-1; ((art = this.artykuly[i]) != undefined); i--) {
    if (art.zaznaczony) {
     art2 = this.artykuly.splice(i+1 ,1)
     for (i = i ; ((this.artykuly[i] != undefined)&&(this.artykuly[i].zaznaczony == true)); i--) {}
      this.artykuly.splice(i+1, 0 , art2[0])
     }
    }
  }
  this.odswiez()
 }

 function dodaj(dodawane) {
  ruszane = true;
  var doDodania = new Array();
  if (dodawane.length != undefined) {
   for (i = 0; ((art = dodawane[i]) != undefined); i++) {
     doDodania.push(new artykul(art.nazwa, art.data, art.tytul, art.zaznaczony));
   }
  } else {
   doDodania.push(new artykul(dodawane.nazwa, dodawane.data, dodawane.tytul, dodawane.zaznaczony));
  }
  this.update()
  var a = new Array()
  if (this.pierwszeZaznaczone != -1) {
   for (i = this.pierwszeZaznaczone; i < this.artykuly.length; i++) this.artykuly[i].zaznaczony = false
   this.artykuly = a.concat(this.artykuly.slice(0, this.pierwszeZaznaczone), doDodania, this.artykuly.slice(this.pierwszeZaznaczone))
  } else {
   this.artykuly = a.concat(this.artykuly, doDodania)
  };
  this.odswiez();
 }
 
 function usun() {
  ruszane = true;
  this.update()
  var opcje = this.obj.options;
  this.pierwszeZaznaczone = false
  this.zaznaczone = new Array();
  for (i = 0; i < opcje.length;) {
   if (opcje.item(i).selected == true) {
    this.artykuly.splice(i,1);
    this.obj.remove(i)
   } else {
    i++
   }
  }
  this.odswiez();
 }


 // ---------------------- operacje odwolan do skryptu -----------------------
 
 
 function wyciagnijDane(artykuly) {
  var adres = ""
  for (i = 0; ((a = artykuly[i]) != undefined); i++) {
   adres += a.nazwa + "+" + a.zaznaczony + "+"
  }
  adres = adres.substr(0,adres.length - 1)
  return adres;
 }

 function wysylka(komenda, link) {

  input = document.createElement("INPUT");
  input.name = "currentUrl"
  input.type = "hidden";
  input.value = currentUrl;
  document.wysylka.appendChild(input);

  a = komenda.split("&")
  b = a.length
  if (b > 1) {
    komenda = a[0]
    for (i = 1; i < b; i++) {
      c = a[i].split("=")
      input = document.createElement("INPUT");
      input.name = c[0]
      input.type = "hidden";
      input.value = c[1]
      document.wysylka.appendChild(input);
    }
  }

  input = document.createElement("INPUT");
  input.name = "komenda"
  input.type = "hidden";
  input.value = komenda;
  document.wysylka.appendChild(input);

  input = document.createElement("INPUT");
  input.name = "link"
  input.type = "hidden";
  input.value = link;
  document.wysylka.appendChild(input);

  if (currentUrl == "edycjaNewsow") {

   katalogNewsow.update()
   ukladNewsow.update()

   input = document.createElement("INPUT");
   input.name = "katalogNewsow"
   input.type = "hidden";
   input.value = wyciagnijDane(katalogNewsow.artykuly);
   document.wysylka.appendChild(input);

   input = document.createElement("INPUT");
   input.name = "ukladNewsow"
   input.type = "hidden";
   input.value = wyciagnijDane(ukladNewsow.artykuly);
   document.wysylka.appendChild(input);

  } else if (currentUrl == "dodajNewsa") {
  } else if (currentUrl == "edycjaNaszymZdaniem") {

   katalogArtykulow.update()
   ukladArtykulow.update()

   input = document.createElement("INPUT");
   input.name = "katalogArtykulow"
   input.type = "hidden";
   input.value = wyciagnijDane(katalogArtykulow.artykuly);
   document.wysylka.appendChild(input);

   input = document.createElement("INPUT");
   input.name = "ukladArtykulow"
   input.type = "hidden";
   input.value = wyciagnijDane(ukladArtykulow.artykuly);
   document.wysylka.appendChild(input);

  } else if (currentUrl == "edycjaNaszymZdaniemForum") {
  } else if (currentUrl == "usunPost") {
    
  }

  document.wysylka.submit()

 }

 function usunArtykuly() {
   var alarm = window.open(alertUsunArtUrl, alarm, "width=334,height=300,menubar=no")
 }


 // ------------------ defnicje obiektów ----------------------


 function artykul(nazwa, data, tytul, zaznaczony) {
  this.nazwa = nazwa;
  this.data = data;
  this.zaznaczony = zaznaczony;
  this.tytul = tytul;
 }

 function listaArtykulow (obj, artykuly) {
  this.obj = obj;
  this.artykuly = artykuly;
  this.zaznaczone = new Array();
  this.pierwszeZaznaczone = false
  this.up = up
  this.down = down
  this.dodaj = dodaj
  this.usun = usun
  this.update = update
  this.odswiez = odswiez
 }

 
 

