var isFramedMap = false;
var kte = {
	map: null, 
	layer: null, 
	ortolayer: null, 
	topolayer: null, 
	isLoaded: false,
	
	initMap: function (){
		OpenLayers.Lang.setCode("lv-LV");
		this.map = new OpenLayers.Map( $('map'),
								{maxExtent: new OpenLayers.Bounds(151534,67842,922002,541818), 
								maxResolution: 999, 
								units: 'm', 
								projection: "EPSG:3059",
								controls: [
										new OpenLayers.Control.Navigation(),
										new OpenLayers.Control.PanZoomBar(),
										new OpenLayers.Control.ScaleLine(), 
										new OpenLayers.Control.Permalink(null, "http://www.kurtuesi.lv/maps"), 
										new OpenLayers.Control.MousePosition({numDigits: 0, prefix: "XY: "})
									],
								tileSize: new OpenLayers.Size(512, 512),
								numZoomLevels: 12,
								scales: [2600000,
											1901162.307,
											950581.1531,
											475290.5767,
											237645.2884,
											118822.6442,
											59411.32209,
											29705.66104,
											14852.83052,
											7426.415261,
											3713.20763,
											1856.603815,
											928.3019075]
								}
							);
		kte.map.events.register("zoomend", null, kte.onZoomEnd);

		this.layer = new OpenLayers.Layer.WMS( "kurtuesi", 
										"http://www.kurtuesi.lv/tiles/cache",
										{layers: 'kurtuesi', 
											format: 'image/jpeg', 
											maxExtent: new OpenLayers.Bounds(151534,67842,922002,541818),  
											projection: "EPSG:3059", 
											maxResolution: 999,
											isBaseLayer: false} 
									);
		this.map.addLayer(this.layer);
		this.ortolayer = new OpenLayers.Layer.WMS( "kurtuesi_orto", 
										"http://www.kurtuesi.lv/tiles/cache",
										{layers: 'kurtuesi_orto', 
											format: 'image/jpeg', 
											maxExtent: new OpenLayers.Bounds(151534,67842,922002,541818),  
											projection: "EPSG:3059", 
											maxResolution: 999,
											isBaseLayer: false} 
									);
		this.map.addLayer(this.ortolayer);
		this.topolayer = new OpenLayers.Layer.WMS( "kurtuesi_topo", 
										"http://www.kurtuesi.lv/tiles/cache",
										{layers: 'kurtuesi_topo', 
											format: 'image/jpeg', 
											maxExtent: new OpenLayers.Bounds(151534,67842,922002,541818),  
																			
											projection: "EPSG:3059", 
											maxResolution: 999,
											isBaseLayer: false} 
									);
		this.map.addLayer(this.topolayer);
			
		if (isFramedMap == null || !isFramedMap)	
			this.initControls();
		
		this.isLoaded = true;
		if (!kte.map.zoom)
			setTimeout('kte.map.zoomTo(1);', 100);	
		if (document.location.href.indexOf("px=") != -1) {
			var params = document.location.href.substr(document.location.href.indexOf("?")+1).split("&");
			var px = 0, py = 0;
			for (var i = 0; i < params.length; i++) {
				var data = 	params[i].split("=");
				switch (data[0]) {
					case "px": px = data[1]; break;
					case "py": py = data[1]; if (py > 6000000) py -= 6000000; break;
				}
			}
			if (px > 0 && py > 0) {
				var mappointlayer = new OpenLayers.Layer.Vector("MapMarkers",
					{
						styleMap: new OpenLayers.StyleMap({
							externalGraphic: "http://www.kurtuesi.lv/images/icon/target.png",
							pointRadius: 10,
							fillColor: "#FFFFFF",
							fillOpacity: 1,
							strokeColor: "#000000",
							strokeWidth: 1,
							strokeOpacity: 1
						}),
						rendererOptions: {yOrdering: true} 
					}
				);
				kte.map.addLayer(mappointlayer);	
				var point = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(px, py));
				mappointlayer.addFeatures(point); 
			}
		}
			
		this.updateCopyrights();
	},
	resizeTimeout: null,
	initControls: function() {
		jQuery("#tileframe").height(jQuery(window).height() - jQuery("#footer").height()- jQuery("#header").height()-4);										
		jQuery("#main, #sidebar").height(jQuery(window).height() - jQuery("#footer").height()- jQuery("#header").height()-4);	
		jQuery("#map").height(jQuery("#main").height());
		jQuery('div#inside h2').bind('click', function(){
				jQuery(this).next('div').slideToggle();
				jQuery(this).toggleClass("open");
			});
		jQuery(window).resize( function () {
				if (kte.resizeTimeout)
					clearTimeout(kte.resizeTimeout);
				kte.resizeTimeout = setTimeout(function() {
						jQuery("#tileframe").height(jQuery(window).height() - jQuery("#footer").height()- jQuery("#header").height()-4);										
						jQuery("#main, #sidebar").height(jQuery(window).height() - jQuery("#footer").height()- jQuery("#header").height()-4);	
						if (!jQuery("#mapextention").is(":visible"))
							jQuery("#map").height(jQuery("#main").height());	
						else
							jQuery("#map").height(jQuery(window).height() - jQuery("#footer").height()- jQuery("#header").height()-4 - jQuery("#mapextention").height());	
					}, 500); 
			});
		jQuery("#maplayers a").click(function() {
				jQuery("#maplayers li").removeClass("selected");							 
				jQuery(this).parent().addClass("selected");			
				kte.map.setBaseLayer(kte.map.layers[jQuery("#maplayers a").index(jQuery(this))]);
				kte.updateCopyrights();
			});
	},
	updateCopyrights: function() {
		jQuery("#copyright span").hide();
		jQuery(".ortotext").removeClass("ortotext");
		jQuery(".olControlScaleLineTop, .olControlScaleLineBottom").removeClass("ortoborder");
		
		jQuery("#copyright span#atlas_copyright").show();
		switch (kte.map.baseLayer.name) {
			case "kurtuesi_orto":
				if (kte.map.zoom > 5) {
					jQuery("#copyright span#orto_copyright").show();
					jQuery("#copyright span, .olControlScaleLine, .olControlMousePosition").addClass("ortotext");
					jQuery(".olControlScaleLineTop, .olControlScaleLineBottom").addClass("ortoborder");
				}
				jQuery("#copyright span#map_copyright").show();
				jQuery("#maplayers li").removeClass("selected").eq(1).addClass("selected")
				break;
			case "kurtuesi_topo":
				jQuery("#copyright span#map_copyright").show();
				jQuery("#maplayers li").removeClass("selected").eq(2).addClass("selected")
				break;
			default:
				jQuery("#maplayers li").removeClass("selected").eq(0).addClass("selected")
				jQuery("#copyright span#map_copyright").show();
				break;
		}		
	},
	onZoomEnd: function(ev) {
		kte.updateCopyrights();
	}
};
jQuery(document).ready(function () {
		kte.initMap();			
});

		
		
jQuery.extend({
  getUrlVars: function(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
      hash = hashes[i].split('=');
      vars.push(hash[0]);
      vars[hash[0]] = hash[1];
    }
    return vars;
  },
  getUrlVar: function(name){
    return jQuery.getUrlVars()[name];
  }
});


