  dojo.require("esri.map");
  dojo.require("esri.tasks.query");

  var timer;
  var map;
  function Init() {
    var startExtent = new esri.geometry.Extent(-1285289, -302138, -27986, 536062,
          new esri.SpatialReference({wkid:102019}) );

    map = new esri.Map("map", { extent: startExtent });
    dojo.connect(map, "onLoad", initFunctionality);

    var layer = new esri.layers.ArcGISTiledMapServiceLayer("http://www.sijaintiratkaisee.fi/ArcGIS/rest/services/thepole/enapakartta/MapServer");
    map.addLayer(layer);

    var layer = new esri.layers.ArcGISDynamicMapServiceLayer("http://www.sijaintiratkaisee.fi/ArcGIS/rest/services/thepole/enapa_dyn/MapServer");
    map.addLayer(layer);

    //connect to window's resize event
    dojo.connect(window, "onresize", function() {
      //clear any existing resize timer
      clearTimeout(timer);
      //create new resize timer with delay of 500 milliseconds
      timer = setTimeout(function() { map.resize(); }, 500);
    });

  }

  function initFunctionality(map) {

        //build query task
        var queryTask = new esri.tasks.QueryTask("http://www.sijaintiratkaisee.fi/ArcGIS/rest/services/thepole/enapa_dyn/MapServer/0");

        //build query filter
        var query = new esri.tasks.Query();
        query.returnGeometry = true;
        query.outFields = ["nimi", "linkki", "pvm"];
        query.where = "objectid > 0";
	query.outSpatialReference = 102019;

        var highlightSymbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_DIAMOND, 30, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0,0,0]), 3), new dojo.Color([255,255,0,0.5]));
	var symbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_DIAMOND, 20, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0,0,0]), 1), new dojo.Color([255,255,0,0.5]));

	var picSymbol = new esri.symbol.PictureMarkerSymbol("/images/flag_anim_0005.gif", 75, 50 );

        var infoTemplate = new esri.InfoTemplate();
        infoTemplate.setTitle("Piste");
        infoTemplate.setContent( "${pvm}<br/>"
				+"<a href=${linkki} target=_linkki>${nimi}<a/>");

        map.infoWindow.resize(245,105);

        //Can listen for onComplete event to process results
	// or can use the callback option in the queryTask.execute method.
        dojo.connect(queryTask, "onComplete", function(featureSet) {
          map.graphics.clear();
          for (var i=0, il=featureSet.features.length; i<il; i++) {
            var graphic = featureSet.features[i];
            graphic.setSymbol(symbol);
            graphic.setInfoTemplate(infoTemplate);

            //Add graphic to the map graphics layer.
            map.graphics.add(graphic);
          }
        });


    dojo.connect(map.graphics, "onMouseOver", function(evt) {
        evt.graphic.setSymbol(highlightSymbol);
    });
    dojo.connect(map.graphics, "onMouseOut", function(evt) {
        evt.graphic.setSymbol(symbol);
    });

    queryTask.execute(query);
  }

  dojo.addOnLoad(Init);

