function initialize(){
    MI.provinceBounds = new OpenLayers.Bounds(335609,4546460,353257,4557228);

    var XHR = OpenLayers.Request.GET ({
        url: "xml/planejament.xml",
        async : true,
        success: function() {
            init(XHR)
        },
        //failure: function(){failure()},
        scope: this
    });
        
}

function init(XHR){
    //eGV.Lang.ca = OpenLayersmyLocaleCa;

    var options = {
        controls: [
        new OpenLayers.Control.Navigation()
        ]           
    };

    var format = new eGV.Format.WMC(); 
    
    if (XHR){   
        var map = format.read(XHR.responseText,{
            map: "divMap",
            mapOptions: options
        });
    }

    eGV.Lang.setCode("ca");
    eGV.includeStyle(eGV.scriptRoot + "egv/theme/default/style.css","csseGV");
    eGV.includeStyle("css/egv.css","cssmap");

    // avoid pink tiles
    OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
    OpenLayers.Util.onImageLoadErrorColor = "transparent";
		


    map.addControl(new OpenLayers.Control.Attribution({
        displayClass: "egvControlAttribution"
    }));
    var statusBar = eGV.addControl(new eGV.Control.ScaleStatusBar("divStatusBar",{
        "id":"stbar"
    }));
    var toolBar = eGV.addControl(new eGV.Control.ToolBar("divToolbar",{
        "id":"toolBar"
    }));
    map.addControl(toolBar);
    var nav = new OpenLayers.Control.NavigationHistory({
        displayClass: "egvControlButton"
    });
    nav.previous.title = eGV.Lang.translate("previous");
    nav.next.title = eGV.Lang.translate("next");    
    map.addControl(nav);
  
	
    var controls = [
    new OpenLayers.Control.ZoomBox({
        displayClass: "egvControlButton egvControlZoomBox",
        title:"Apropar-se: seleccionar l'eina i dibuixar una finestra (o clicar) sobre el mapa."
    }),
    new OpenLayers.Control.ZoomBox({
        out: true,
        displayClass: "egvControlButton egvControlZoomOutClick",
        title:"Allunyar-se: seleccionar l'eina i clicar sobre el mapa."
    }),
    new OpenLayers.Control.Navigation({
        displayClass: "egvControlButton egvControlNavigation",
        title:"Desplaçar-se: seleccionar l\'eina i arrossegar el mapa"
    }),
    new eGV.Control({
        type: OpenLayers.Control.TYPE_BUTTON,
        displayClass: "egvControlButton egvControlZoomToMaxExtent",
        title:"Extensió total: tornar a la vista de tot el municipi",
        trigger: MI.zoomToProvince
        }),
    //new eGV.Control.Info("divInfoSection", {id:"infoControl", title: "Informació: seleccionar l'eina i clicar sobre un punt del mapa per a obtenir-ne les dades.", viewall : false, mapTab : 0 }),
    new eGV.Control.InfoCustom("divInfoSection", {
        id:"infoControl",
        title: "Informació: seleccionar l'eina i clicar sobre un punt del mapa per a obtenir-ne les dades.",
        viewall : false,
        mapTab : 0 ,
        pinURL: "img/viewer/pin.gif",
        pinSize: new OpenLayers.Size(30, 40),
        pinOffset: new OpenLayers.Pixel(-2,-40)
    }),
    nav.previous,
    nav.next,
    new eGV.Control.Ruler({
        statusbar: statusBar,
        displayClass: "egvControlButton egvControlRule",
        title :"Càlcul de distàncies: seleccionar l\'eina i clicar sobre el mapa els punt de mesura. Doble clic per finalitzar"
    }),
    new eGV.Control.Area({
        id:"eGV_AreaControl",
        statusbar: statusBar,
        displayClass: "egvControlButton egvControlArea",
        title :"Càlcul d'àrees: seleccionar l\'eina i clicar sobre el mapa els punt de mesura. Doble clic per finalitzar"
    }),
    new eGV.Control.Print("divInfoSection",{
        id:"printControl",
        displayClass: "egvControlButton egvControlPrint",
        title: "Imprimir: seleccionar l\'eina i clicar generar pdf a informació per obtenir el pdf del mapa."
    }),
    new eGV.Control({
        type: OpenLayers.Control.TYPE_BUTTON,
        displayClass: "egvControlButton egvControlHelp",
        title:"Mostra la video-ajuda",
        trigger: showHelp
    })

    ];
    
    var transparencyConnections = [
    map.getConnection("planejament")
    ];

    var transControl = new eGV.Control.Transparency({
        id:"controlTransparency",
        minOpacity:0.2,
        defaultOpacity:0.7,
        connections:transparencyConnections
    });
    eGV.addControl(transControl);
  
      
      
      
    toolBar.addControls(controls);
    toolBar.getControl("infoControl").events.register("actionend", UI, UI.displayInfoSectionDiv);
    toolBar.getControl("printControl").events.register("actionstart", UI, UI.displayInfoSectionDiv);
    
    var defaultControl = toolBar.getControl("infoControl");
    // second linke should work but does not, we use first line instead.
    defaultControl.activate();
    //toolBar.defaultControl=defaultControl;

    
		
    var baseLayers = [
    fonsTopo = eGV.getMap().getGroup("fonsTopo"),
    fonsOrto = eGV.getMap().getGroup("fonsOrto")
    ];    
    eGV.addControl(new eGV.Control.BaseLayerSwitcherCustom("divBaseLayerSwitcher",{
        activeBase:fonsOrto,
        bases:baseLayers,
        id:"eGVBaseLayersSwitcher",
        none:true
    }));
    var layerManager = eGV.addControl(new eGV.Control.LayersManager("divLayersSection",{
        "id":"myLayerManager",
        "active":true,
        "displayTitle":false,
        "displayExplanationText":false
    }));


    
    //here the loading bar is instantiated. the methods used for controlling its behaviour are replaced by the MI implementation
    /*
    var divLoading = document.getElementById("divMapLoading");
    var load = new OpenLayers.Control.LoadingPanel({div:divLoading, minimizeControl:MI.hideLoadingBar, maximizeControl:MI.showLoadingBar });
    map.addControl(load);
		*/
    //sets view after loading components
    $("divMainLoading").style.display = "none";
    $("divMain").style.visibility = "visible";
	
    
}


