/**
 * Copyright 2003 (C) Massvision
 * Padajuci meniji
 * @file    FillSelectBoxControl.js
 * @author  Milos Veskovic
 * @brief   Popunjavanje select boxa na osnovu opcija
 */

   /**
    * Konstruktor
    * @brief Konstruktor
    * @params params parametri za setovanje
    */
function FillSelectBox(params)
{
   /**
    * Parametri za setovanje
    * @brief Parametri za setovanje
    * @comment Ovi parametri se mogu setovati po volji
    */
   // Ime select polja koji prosledjuje podatke za popunjavanje
   this.SelectFrom = params.SelectFrom ? params.SelectFrom : "";
   // Ime select polja koji se popunjava
   this.SelectTo = params.SelectTo ? params.SelectTo : "";
   // Niz vrednosti opcija
   this.mValArray = params.mValArray ? params.mValArray : new Array();
   // Niz textova opcija
   this.mTxtArray = params.mTxtArray ? params.mTxtArray : new Array();
}



   /**
    * Radi inicijalizaciju pri ucitavanju strane i selektuje nulti element
    * @brief Radi inicijalizaciju pri ucitavanju strane i selektuje nulti element
    * @comment poziva se na "onLoad" event
    */
   FillSelectBox.prototype.onLoadInit = function()
   {
      var selectFrom = this.GetSelectFromObject();
      var selectedInd = this.GetSelectedIndex();
//      alert(selectFrom.type);
      if(selectedInd == -1){
         selectFrom.options[0].selected = true;
         selectedInd = this.GetSelectedIndex();
      }
      var ind = this.GetSelectedIndexValue();
      this.fillSelectForm(ind);
   }

   /**
    * Radi popunjavanje selekt polja na osnovu indexa
    * @brief Radi popunjavanje selekt polja na osnovu indexa
    * @param ind index niza iz koga se izvlace podaci
    */
   FillSelectBox.prototype.fillSelectForm = function(ind)
   {
      var selectBox = this.GetSelectToObject();
      var selectedValue = "";
      for(i=0; i<selectBox.options.length; i++){
         if(selectBox.options[i].selected == true){
            selectedValue = selectBox.options[i].value;
         }
      }
      while(selectBox.options.length){
         selectBox.remove(0);
      }
      if(this.mValArray[ind]){
         for(i=0; i<this.mValArray[ind].length; i++){
            newOpt = document.createElement("option");
            newOpt.value = this.mValArray[ind][i];
            newOpt.text = this.mTxtArray[ind][i];
            if(this.mValArray[ind][i] == selectedValue){
               newOpt.selected = true;
            }
            selectBox.options.add(newOpt);
//            alert(selectBox.options[0].optName)
         }
      }
   }

   /**
    * Vraca objekat selectFrom polja
    * @brief Vraca objekat selectFrom polja
    */
   FillSelectBox.prototype.GetSelectFromObject = function()
   {
      var selectFrom = document.getElementById(this.SelectFrom);
      return selectFrom;
   }

   /**
    * Vraca objekat selectTo polja
    * @brief Vraca objekat selectTo polja
    */
   FillSelectBox.prototype.GetSelectToObject = function()
   {
      var selectTo = document.getElementById(this.SelectTo);
      return selectTo;
   }

   /**
    * Vraca trenutno selektovan index From polja
    * @brief Vraca trenutno selektovan index From polja
    */
   FillSelectBox.prototype.GetSelectedIndex = function()
   {
      var selectFrom = this.GetSelectFromObject();
      var selectedInd = selectFrom.selectedIndex;
      return selectedInd;
   }

   /**
    * Vraca trenutno selektovan index From polja
    * @brief Vraca trenutno selektovan index From polja
    */
   FillSelectBox.prototype.GetSelectedIndexValue = function()
   {
      var selectFrom = this.GetSelectFromObject();
      var selectedInd = this.GetSelectedIndex();
      var selectedIndValue = selectFrom.options[selectedInd].value;
      return selectedIndValue;
   }

   /**
    * Vraca trenutno selektovan index From polja
    * @brief Vraca trenutno selektovan index From polja
    */
   FillSelectBox.prototype.ChangeIndex = function(ind)
   {
//      this.mValArray[ind] = values;
//      this.mTxtArray[ind] = texts;
      var selectFrom = this.GetSelectFromObject();
      for(i=0; i<selectFrom.options.length; i++){
         if(selectFrom.options[i].selected == true){
            selectedInd = selectFrom.options[i].value;
         }
      }
      this.fillSelectForm(selectedInd);
   }


