/*
* Itemss View representation 
*/
function Items(div){
  
  /****************************************************************************************/
  /* class inherits*/
	/**************/
  this._extends = view;
  this._extends(new controller());
  
  /****************************************************************************************/
  /* class attributes */
	/****************/
  this.keywords = 0;
  /****************************************************************************************/
  /* class graphical methods */
	/***********************/


  /****************************************************************************************/
  /* class buttons event handler */
  /**************************/
  
  /* class event Handler methods */
	/***************************/

  this.getItemsIdsList = function(params,self){
    debug("[ITEMS] getItemsIdsList" + params.url);
    var request = new httpRequest();
    request.onreadystatechange = function(){
      //debug("[PHOTOS] onreadystatechange");
      if(request.readyState == 4){
        if(request.status == 200) {
          var content = eval(request.responseText);
          info = content[0];
          items = content[1];
          var listing = "";
          //<calcul de listing>
          if ( info.borne_gauche > 1 ) listing += "<span class='button' id='divItemsActionnerPrec'></span>";
          //<calcul de listin>
          for (i = parseInt(info.borne_gauche) ; i <= parseInt(info.borne_droite); i++){
            if (info.pageNum == i) 
              listing += "&nbsp;<u>" + i + "</u>";
            else
              listing += "&nbsp;<span class='button' id='divItemsActionner" + i + "'></span>";
            }
          if ( info.borne_droite < info.nbpage)  listing += " ... ";
          if (info.pageNum < info.nbpage)
            listing += "&nbsp;<span class='button' id='divItemsActionnerSuiv'></span>";
          //</calcul de listing>
          getById('divItems').innerHTML = "";
          placerEscargot({nbPets:4});
          getById('divItems').innerHTML += "<div id='divItemsHeader'><fieldset class='fondVert'><legend>&nbsp;Contenu&nbsp;</legend><center><table class='pagenavig' ><tr><th class='left'> Page " +  info.pageNum + " sur " +  info.nbpage + ", " +  info.nbitem + " " +  info.resultat + " sur " +  info.nbItemTotal + "</th> <th class='right'>" +  listing + "</th></tr></table></center></fieldset></div><div id='divItemsContainer'></div><div id='divItemsFooter'></div>";
          //<calcul de listing>
          if ( info.borne_gauche > 1 ){
           button = new Button(getById('divItemsActionnerPrec'), {name:'Pr&eacute;c.', event:'RefreshItems', params:{pageNum:(info.pageNum-1), keywords:(self.keywords)}, title:'page precedente'});
           button.controller.addListener(self);
          }
          for (i = parseInt(info.borne_gauche) ; i <= parseInt(info.borne_droite); i++){
            if (info.pageNum != i){
              button = new Button(getById('divItemsActionner' + i), {name:i, event:'RefreshItems', params:{pageNum:i, keywords:(self.keywords)}, title:'page ' + i});
             button.controller.addListener(self);
            }
          }
          if (info.pageNum < info.nbpage){
           button = new Button(getById('divItemsActionnerSuiv'), {name:'Suiv.', event:'RefreshItems', params:{pageNum:(parseInt(info.pageNum)+1), keywords:(self.keywords)}, title:'page suivante'});
           button.controller.addListener(self);
          }
          //</calcul de listing>
          getById('divItemsContainer').innerHTML = '';
          items.each(function(item){
            getById('divItemsContainer').innerHTML += '<div id=\'divItem' + item.id + '\' class=\'fondVert\'></div>';
          });
          //getById('divItems').innerHTML +=  info;
          items.each(function(item){
            _item[item.id] = new Item(getById('divItem'+item.id), item);
          });
          //$('divItemsFooter').appendChild($('divItemsHeader').cloneNode(true));
          //var temp = $A($('divItemsHeader').childNodes)[0];
          //$('divItemsHeader').appendChild($A($('divItemsFooter').childNodes)[0]);
          //$('divItemsFooter').appendChild(temp);
        }
        else if(request.status != 0)
          alert("error : " + request.statusText);
        }
      };
    request.open("POST",params.url,true);
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    //request.send("cmd="+cmd+"&"+vars.join('&'));
    request.send("");
    //var response = request.responseText
    //document.getElementById('info').innerHTML = response;
    //this.clean();
    //this.background(this.imgSS);
    //this.cardInside = false;
    //this.screenSaver = true;*/
  };

  /****************************************************************************************/
  /* class event Handler methods */
  /*******************************/

  /*
   * RefreshItems event handler : 
   */
  this.onRefreshItems = function(params){
    debug("[ITEMS] onRefreshItems k=" + params.keywords + " n=" + params.pageNum);
    if (undefined===params.pageNum) params.pageNum=0; 
    this.keywords = params.keywords;
    this.getItemsIdsList({url:'../reb07/items.php?keywords=' + this.keywords + "&pageNum=" + params.pageNum},this);
  };
  
  /*
    * contruct the screen GUI representation
    */
  this.construct = function(div){
    if (creator == '') this.onRefreshItems({keywords:35});
    else this.onRefreshItems({keywords:this.keywords});
  };

  this.construct(div);

}; // end class Items




