/**
 * @author TsMtsUser
 */
var map, selectControl;

// avoid pink tiles
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
OpenLayers.Util.onImageLoadErrorColor = "transparent";

function initMap(){
    var options = {
        projection: new OpenLayers.Projection("EPSG:900913"),
        displayProjection: new OpenLayers.Projection("EPSG:4326"),
        units: "m",
        //numZoomLevels: 11,
		//minResolution: 305.7481130859375,
        //maxResolution: 1222.99245234375,
        maxExtent: new OpenLayers.Bounds(1790000,5740000,2560000,6210000)
    };
    map = new OpenLayers.Map('map', options);
	map.addControl(new OpenLayers.Control.Navigation());
    // create Google Mercator layers
    var gmap = new OpenLayers.Layer.Google(
        "Google Streets",
        {'sphericalMercator': true}
    );
	map.addLayer(gmap);
	
	if (!map.getCenter()) {map.zoomToMaxExtent()}
    
	/*ekdUgyek=new OpenLayers.Layer.GML("GML", "ekdGMLData.gml",{
		extractAttributes:true,
		styleMap: myStyles
	});*/
	


}
function initPoints(){

	//Define style for ügy points
    var myStyles = new OpenLayers.StyleMap({
        "default": new OpenLayers.Style({
            pointRadius: "5",
            fillColor: "#ff0000",
            strokeColor: "#ff9933",
            strokeWidth: 2,
            fillOpacity: 1,
            strokeOpacity: 0.5
        }),
        "select": new OpenLayers.Style({
            fillColor: "#66ccff",
            strokeColor: "#3399ff"
        })
    });

	var ekdUgyek=new OpenLayers.Layer.Vector("ekdUgyek",{styleMap: myStyles, isBaseLayer:false});
	//var ekdUgyek=new OpenLayers.Layer.Vector("ekdUgyek");
	map.addLayer(ekdUgyek);
	
	//Get data out of ugyStore and create features on ekdUgyek layer
	for(i=0;i<ugyStore.data.items.length;i++){
		var point = new OpenLayers.Geometry.Point(ugyStore.data.items[i].data.hosszusag,ugyStore.data.items[i].data.szelesseg);
		point.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));
		var pointFeature = new OpenLayers.Feature.Vector(point,ugyStore.data.items[i].data);
		ekdUgyek.addFeatures(pointFeature);
		
	}
	

	selectControl = new OpenLayers.Control.SelectFeature(ekdUgyek, {
        hover: false,
        toggle: true,
		clickout:true,
        onSelect: onFeatureSelect,
        onUnselect: onFeatureUnselect
    });
	map.addControl(selectControl);
	selectControl.activate();
}

function onFeatureSelect(feature){
	selectedFeature = feature;
	popup = new OpenLayers.Popup.FramedCloud("chicken", feature.geometry.getBounds().getCenterLonLat(), null, 
							"<div style='font-size:.8em'>\
							<b>Ügyszám:</b> " + feature.attributes.ugySzam + "<br />\
							<b>Ügy címe:</b> " + feature.attributes.ugyCim + "<br />\
							<b>Helyszín:</b> " + feature.attributes.ugyHelyszin + "<br />\
							<b>Összefoglaló tényállás:</b> " + feature.attributes.osszefoglaloTenyallas + "<br />\
							<b>Környezeti elem:</b> " + feature.attributes.kornyezetiElem + "<br />\
							<b>Érintett jogág:</b> " + feature.attributes.erintettJogag + "<br />\
							<b><a href='javascript:onMapClick(\""+feature.attributes.ugySzam+"\")'>Részletek...</a></b>\
							 </div>", null, true, onPopupClose);
	feature.popup = popup;
	map.addPopup(popup);
}

function onFeatureUnselect(feature){
    map.removePopup(feature.popup);
    feature.popup.destroy();
    feature.popup = null;
}

function onPopupClose(evt){
    selectControl.unselect(selectedFeature);
}

function onMapClick(ugySzam){
	Ext.getCmp("northPanel").toggleCollapse();
	var colModel2 = new Ext.grid.ColumnModel({
					    columns: [
							{header:'Ügyszám',dataIndex:'ugySzam'},
							{header:'Cím',dataIndex:'ugyCim'},
							{header:'Helyszín',dataIndex:'ugyHelyszin'}
					]});
	var ugyStore2=new Ext.data.JsonStore ({
			url: 'search.php',
			fields:['ugySzam','ugyCim','ugyHelyszin','osszefoglaloTenyallas','kornyezetiElem','erintettJogag'],
			root: 'data',
			autoLoad:true,
			baseParams:{'keresSzoveg':ugySzam,'keresMod':'ugy'},
			listeners:{
				load:function(){
				},
				loadexception:function(){
					Ext.msg.alert("Hiba!","Hiba a lekérdezésben!");
				}
			}
		});
	Ext.getCmp("ugyList").reconfigure(ugyStore2, colModel2);
	
}

function openJegyzokonyvWin(fileName) {
	var jegyzokonyvWin = new Ext.Window({
		title: 'Akta részletei',
		width: 900,
		height: 600,
		minWidth: 250,
		minHeight: 200,
		//autoScroll: true,
		x: 240,
		y: 140,
		//layout: 'fit',
		plain: true,
		closable: true,
		bodyStyle: 'padding:5px;',
		collapsible: true,
		closeAction: 'close',
		html: '<embed src=\"' + fileName + '\" width="870" height="550"></embed>'
	});
	jegyzokonyvWin.show();
} 
