	var map = new GMap2(document.getElementById("map_canvas"));
	map.setUIToDefault();  
	var point = new GLatLng(64.077963,11.901855);
	map.setCenter(point, 5);
    loadPointsFromXML();
    var gmarkers = [];
    var side_bar_html = "";
    var name2 = [];
    var street2 = [];
    var html;
    var place;
    var street3;
    GEvent.addListener(map,"moveend", function(){refreshSideList();});
    var zoomtext = jQuery("#side_bar").html();

	var mgrOptions = { borderPadding: 50, maxZoom: 15, trackMarkers: true };
	var mgr = new MarkerManager(map, mgrOptions);

    
    function loadPointsFromXML()
    {
        var request = GXmlHttp.create();
        request.open("GET", xmlfile, true);
        request.onreadystatechange = function()
        {
            if (request.readyState == 4)
            {
                if (window.ActiveXObject)
                {
                        var xmlDoc = new ActiveXObject( 'Microsoft.XMLDOM');
                        xmlDoc.async = false;
                        xmlDoc.load(xmlfile);
                }
                else
                {
                        var xmlDoc = request.responseXML;
                }
                parseXML(xmlDoc);
            }
        };
        request.send(null);
    }

    
    function parseXML(xmlDoc)
    {
    	var markers = xmlDoc.documentElement.getElementsByTagName("marker");
        var name = xmlDoc.documentElement.getElementsByTagName("Navn");
        var street = xmlDoc.documentElement.getElementsByTagName("Gatenavn");
  	  	var zip = xmlDoc.documentElement.getElementsByTagName("Postnummer");
  	  	var area = xmlDoc.documentElement.getElementsByTagName("Poststed");
  	  	var profile = xmlDoc.documentElement.getElementsByTagName("Profil");

        for (var i = 0; i < markers.length; i++) 
        {
        	var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                    parseFloat(markers[i].getAttribute("lng")));
        	try{
        		html = name[i].childNodes[0].nodeValue + "<br />" + zip[i].childNodes[0].nodeValue + ", " + area[i].childNodes[0].nodeValue;
        		}
        	catch(err){html = "";}	
        	try{
        		place = name[i].childNodes[0].nodeValue;
        		}
        	catch(err){place = "";}	
        	try{
        		street3 = street[i].childNodes[0].nodeValue;
        		}
        	catch(err){street3 = area[i].childNodes[0].nodeValue;}	
        	
        	var marker = createMarker(point,html,place,street3);
        	mgr.addMarker(marker,markerLevel);
        }
    }

    function createMarker(point,html,name,gate) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        try {
                gmarkers.push(marker);
                name2.push(name);
                street2.push(gate);
                return marker;
        }
        catch(err){
                window.location.reload();
        }
        
      }
    
    var gcoder = new GClientGeocoder();
    
    function search(){
    	var input = document.getElementById("zip").value;
    	var feil = document.getElementById("zip").value;
    	input = input + "";
    	gcoder.getLatLng(
    			    input,
    			    function(point) {
    			      if (!point) {
    			    	jQuery("#error").remove();
    			        jQuery("#side_bar").prepend("<p id='error' style='font-style:italic;font-weight: bold; padding-bottom: 10px;'>Fant ikke '" + feil + "'. Vennligst prøv på nytt.</p>");
    			        jQuery("#zip").attr("value","");
    			        jQuery("#zip").focus();
    			      } else {
    			        map.setCenter(point,14);
    			      }
    			    }
    			  );
    }

    function refreshSideList(){
    	jQuery("#side_bar").empty();
    	
    	var zoom = map.getZoom();
    	if(zoom >= storelistLevel){
    	
	    	var $=jQuery();

	        var bounds = map.getBounds();
	        var sw = bounds.getSouthWest();
	        var ne = bounds.getNorthEast();
	        var view = new GLatLngBounds(sw,ne);

	        for (var i = 0; i < gmarkers.length; i++) 
	        {
	        	var point = gmarkers[i].getLatLng();
	            if (view.containsLatLng(point) == true)
	            {
	            	jQuery("#side_bar").append("<div class='storelistitem'><a href='javascript:myclick(" + (i) + ")'>" + name2[i] + "<\/a><br><p>" + street2[i] + "</p></div>");
	            }
	        }
    	}else{
    		jQuery("#side_bar").append(zoomtext);
    	}
    }
    
    function myclick(i) {
        GEvent.trigger(gmarkers[i], "click");
      }

