﻿var map, escaper;

function setText(el, s)
{
    if ("textContent" in el)
        el.textContent = s;
    else
        el.innerText = s;
}

function map_init()
{
    var mapDiv = document.getElementById("mapDiv");
    if (!mapDiv)
        return;
        
    OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
    OpenLayers.Util.onImageLoadErrorColor = "transparent";
    
	var options = {
	//TODO: put greece and europe bounds here
			maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
            numZoomLevels: 18,
            maxResolution: 156543,
            units: 'm',
            projection: new OpenLayers.Projection("EPSG:41001"),
            displayProjection: new OpenLayers.Projection("EPSG:4326"),
			controls: [
				new OpenLayers.Control.Navigation(),
				//new OpenLayers.Control.LayerSwitcher({'ascending': true}),
				new OpenLayers.Control.ScaleLine(),
				new OpenLayers.Control.MousePosition(),
				new OpenLayers.Control.PanZoomBar()
			]
		};

	map = new OpenLayers.Map("mapDiv", options);

	var baselayer = new OpenLayers.Layer.TMS(
		"Υπόβαθρο",
		["http://tms1.infotrip.gr/"],
		{ layername: "hellas", type: 'png'}
		);
    baselayer.transitionEffect = 'resize';
	map.addLayer(baselayer);
    
    if(SELECTED_LINE != "")
    {
//        var layerFilename = "assets/KML/O36A.kml";
        var layerFilename = "assets/KML/" + SELECTED_LINE + ".kml";
        var routeLayer = new OpenLayers.Layer.GML(
                "ExtraLayer", 
                layerFilename, 
                {
                    format: OpenLayers.Format.KML, 
                    projection: new OpenLayers.Projection("EPSG:4326"),
                    formatOptions: {
                        extractStyles: true, 
                        extractAttributes: true,
                        maxDepth: 2
                    }
                });
        map.addLayer(routeLayer);
    }
    
//    var stopLayerFilename = "assets/KML/STASEIS2.kml";
//    var stopsLayer = new OpenLayers.Layer.GML(
//            "StopsLayer", 
//            stopLayerFilename, 
//            {
//                format: OpenLayers.Format.KML, 
//                projection: new OpenLayers.Projection("EPSG:4326"),
//                formatOptions: {
//                    extractStyles: true, 
//                    extractAttributes: true,
//                    maxDepth: 2
//                }
//            });
//    map.addLayer(stopsLayer);
//    var zoom = 12;
	
	var centerPoint = OpenLayers.Projection.transform(new OpenLayers.Geometry.Point(20.569218, 38.284250), map.displayProjection, map.projection);
	map.setCenter(
		new OpenLayers.LonLat(centerPoint.x, centerPoint.y),
		10,
		false,
		false);
	
}
