Ext.namespace('Ext.mainPage.keyWordsForm');

Ext.mainPage.keyWordsForm.getObjectIdByRowIndex = function(rowIndex){
  return objectsByKeyWordsStore.getAt(rowIndex).get('id');
}

Ext.mainPage.keyWordsForm.getObjectsByKeyWordsStore = function(){
  return objectsByKeyWordsStore;
}

function createBox(t, s){
  return ['<div class="msg" style="width:300px">',
          '<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>',
          '<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"><h3>', t, '</h3>', s, '</div></div></div>',
          '<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>',
          '</div>'].join('');
}

Ext.mainPage.keyWordsForm.renderKeyWordsForm = function(){
   
  objectsByKeyWordsStore.on('load',function(){
    if(polylineFeature) {
 		  vectorLayer.removeFeatures([polylineFeature]);
	  }
	  if(popup!=null) {
      popup.destroy();
      popup=null;
    }
	  
	  for(var i=0;i<markersList.length;++i){
      markers.removeMarker(markersList[i]);
    }
    markersList = [];
    if(!objectsByKeyWordsStore.getAt(0).get('id')) {
      var msgCt = Ext.DomHelper.insertFirst(Ext.get('nothing_found_div'), {id:'msg-div',width:300,align:'right',html:createBox("Zadaným kľúčovým slovám nevyhovuje žiaden objekt", "")}, true);
      msgCt.slideIn('t').pause(2).ghost("t", {remove:true});
      return;
    }

    searchResultsPanel.show();

    for(var i=0;i<objectsByKeyWordsStore.data.length;++i){
//       if(objectsByKeyWordsStore.getAt(i).get('status')!='public' 
//   		  || !objectsByKeyWordsStore.getAt(i).get('valid_date')) {
//   			continue;
//   	  }

      lon = objectsByKeyWordsStore.getAt(i).get('lon');
  	  lat	= objectsByKeyWordsStore.getAt(i).get('lat');
  	  newPoint = new OpenLayers.LonLat(lon,lat);
  	  var size = new OpenLayers.Size(32,32);
      var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
//      var offset = new OpenLayers.Pixel(0, 0);
  	  var icon = new OpenLayers.Icon(objectsByKeyWordsStore.getAt(i).get('icon'),size,offset);
  	  marker = new OpenLayers.Marker(newPoint,icon);
	   
	    markers.addMarker(marker);
	    markersList.push(marker);
	  }
    
  });
  
  var wordsSuggestionsStore = new Ext.data.Store({
    proxy: new Ext.data.HttpProxy({
      url: 'mainPage/ajax/getWordsSuggestions.html'
    }),
    reader: new Ext.data.JsonReader({
      root: 'keyWords'
    },[
      {name: 'words',mapping:'words'}
    ])
  });  
 
  var keyWordsInput = new Ext.form.ComboBox({
    fieldLabel: 'ahoj',
    store: wordsSuggestionsStore,
    displayField:'words',
    typeAhead: false,
    loadingText: 'Nacitavam...',    
    name:'key_words',
    width:630,
    hideTrigger:true,
    applyTo:keyWordsInput
  });
  
  var keyWordsForm = new Ext.FormPanel({
    frame:true,
    title: '&nbsp;&nbsp;&nbsp;Vyhľadávanie podľa kľúčových slov',
    width: 647,
    items :[
      {
        layout:'column',
        items:[
          {
            width:530,
            items: [ keyWordsInput ]
          },{
            width:100,
            items: [
              new Ext.Button({
                text: 'Vyhľadať',
                handler: function(){
                  if(keyWordsInput.getValue() != "") {
                    objectsByKeyWordsStore.load({params: {key_words: keyWordsInput.getValue()}});
                  }
                }
              })
            ]
          }
        ]
      }
    ]
  });

  keyWordsInput.on('specialkey',function(){
    if(Ext.EventObject.getKey() == 13 && keyWordsInput.getValue() != ""){   
      objectsByKeyWordsStore.load({params: {key_words: keyWordsInput.getValue()}});
    }
  });

  keyWordsForm.render("key_words");
}
