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

var objectInfoStore= new Ext.data.Store({
	proxy: new Ext.data.HttpProxy({url: 'mainPage/ajax/getObjectInfo.html'}),
 	reader: new Ext.data.ArrayReader({}, ['name','object_type','address_street', 'address_city', 'address_zip', 'address_country', 'contact_person', 'contact_phone', 'contact_fax', 'contact_email', 'contact_url', 'open_hours', 'short_description', 'long_description', 'lon', 'lat', 'gps_lon', 'gps_lat', 'fotos', 'valid_date', 'status', 'object_level'])
});

Ext.mainPage.dialogObjectInfo.loadObjectInfoStore = function(id) {
	objectInfoStore.load({params:{id:id}});
}

hideObjectInfoDialog=function(){
	Ext.mainPage.dialogObjectInfo.dialog.hide();
}

Ext.mainPage.dialogObjectInfo.initDialogObjectInfo = function (){

  Ext.mainPage.dialogObjectInfo.dialog = new Ext.Window({
	  title		  : '',
    applyTo     : 'my_dialog',
    width       : 600,
    height      : 500,
    closeAction :'hide',
    plain       : true,
	  autoScroll  : true
  }); 

  objectInfoStore.on('load',function() {
    if(objectInfoStore.getAt(0).get('status')!='public' 
		  || !objectInfoStore.getAt(0).get('valid_date')) {
			return;
	  }
    if(polylineFeature) {
		  vectorLayer.removeFeatures([polylineFeature]);
	  }
	  
	  if(popup!=null) {
      popup.destroy();
      popup=null;
    }

    lon = objectInfoStore.getAt(0).get('lon');
	  lat	= objectInfoStore.getAt(0).get('lat');
	  level = objectInfoStore.getAt(0).get('object_level');
	  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("",size,offset);
	   
	  if(level=='enhanced') {
		  popup = new OpenLayers.Popup.FramedCloud('dialogObjectInfo',newPoint,new OpenLayers.Size(200,200),Ext.miceTemplates.bubbleObjectInfo.applyTemplate(objectInfoStore.getAt(0).data),icon);
			map.addPopup(popup);
			Ext.get('cloudButton').on('click',function(){
				myhtml=Ext.miceTemplates.dialogObjectInfo.overwrite(Ext.mainPage.dialogObjectInfo.dialog.body,objectInfoStore.getAt(0).data);
				Ext.mainPage.dialogObjectInfo.dialog.show('cloudButton');
			});
			Ext.get('close_bubble').on('click',function(){
				popup.hide();
			});
	  }
	  else {
		  popup = new OpenLayers.Popup.FramedCloud('dialogObjectInfo',newPoint,new OpenLayers.Size(200,200),Ext.miceTemplates.basicBubbleObjectInfo.applyTemplate(objectInfoStore.getAt(0).data),icon);
			map.addPopup(popup);
			Ext.get('close_bubble').on('click',function(){
				popup.hide();
			});
	  }
	  if(objectClickedInGrid){
	   map.setCenter(newPoint);
	  }
  });
}
