    Geodatenportal.app = function() {  
        // private vars:
        var toolbar, viewport, vectorLayer;

       
        // public space:
        return {
            // for debug, we make this property public:
            vector: null,
            
            setStatus: function(text) {
                Ext.getCmp('statusBar').body.dom.innerHTML = text;
            },
            
            init: function() {

//////////////////////////////////////////////
//                   Map Initialisieren
///////////////////////////////////////////////////////

            var extent = new OpenLayers.Bounds(140000, 10000, 190000, 40000);
            var ovextent = new OpenLayers.Bounds(138000, 8000, 192000, 42000);

             map = new OpenLayers.Map( {
                projection: "EPSG:21780",
                controls: [], 
                numZoomLevels: 40,
                maxResolution: 'auto',
                maxExtent: extent,
                theme: null,
                fractionalZoom: true,
                scales: [ 175000, 150000, 125000, 100000, 80000, 60000, 40000, 30000, 20000, 18500, 15000, 10000, 8000, 4000, 2500],
                units: 'm'
            });

          layerstore= new layerstore(map);
          vectorLayer = layerstore.getLayer('skizze');
          map.addLayer(vectorLayer);


          var layer1 = new OpenLayers.Layer.WMS( "Landeskarte", "http://geoservices.llv.li/cgi-bin/mapserv.exe?map=/ms4w/apps/llv/service/landeskarte_tale.map&", 
                                                 {'layers' : 'pk100,pk50,pk25,pk10,TBLI' }, 
                                                 { opacity: 0.85 , attribution: 'PK100 © Swisstopo (DV043727)', buffer: 0, ratio: 1, isBaseLayer: true, singleTile: false, 
                                                  transitionEffect: 'none', visibility: false, tileSize: new OpenLayers.Size(512,512)} );
          var layer2 = new OpenLayers.Layer.WMS( "Luftbild", "http://geoservices.llv.li/cgi-bin/mapserv.exe?map=/ms4w/apps/llv/service/geoshop.map&", 
                                                 {layers: 'ortho2009'}, 
                                                 { buffer: 0 , ratio: 1 ,  isBaseLayer: true, transitionEffect: 'resize', visibility: true, tileSize: new OpenLayers.Size(512,512)} );
          map.addLayer(layer1);
          map.addLayer(layer2);

          var oev = new OpenLayers.Layer.GeoShop( "Buslinien", serverurl + "/webclient", { view: 'OeVerkehr', layers:'OeVLinieEisenbahn20,OeVLinieLBA20,OeVHaltestelleLBA20,OeVHaltestelleEisenbahn20', background_color: 'transparent'}, { metaID: '8d92d381-d3f4-4742-a848-46b82d9106d2', visibility:true, displayInLayerSwitcher: false, isBaseLayer: false,  ratio: 1, singleTile: true, opacity: 0.8} );
          map.addLayer(oev);



////////////////////////////////////////////////////////////////////////////////
//                      Toolbar       
/////////////////////////////////////////////////////////////////////////////////////////////////////////

    Ext.QuickTips.init();

    mytoolbar =new llvtoolsbar(map,vectorLayer);
    mytoolbar.addItem ('zoom');
    mytoolbar.addItem ('fi');
    mytoolbar.addItem ('redline');
    mytoolbar.addItem ('pr');
    mytoolbar.addItem ('prpdf');
    mytoolbar.addItem ('scale');
    mytoolbar.addItem ('measure');
    mytoolbar.addItem ('mousepos');
    mytoolbar.addItem ('info');
    mytoolbar.featureinfo.addLayer("Buslinien","OeVLinieLBA20");
    mytoolbar.featureinfo.addLayer("Buslinien","OeVHaltestelleLBA20");
    mytoolbar.featureinfo.proxy='/proxy.php?url='
    nav= new OpenLayers.Control.Navigation( {mouseWheelOptions: {interval: 100}} );
    map.addControl(nav);
    nav.handlers.wheel.cumulative = true;

 
//////////////////////////////////////////////////////////////////////
//                   Viewport initialisiereun
////////////////////////////////////////////////////////////////////////



           var leg='';
               leg+= '<div style="padding-left:10px;">';
               leg+='<span style="padding-top:0px; padding-bottom:0px;" class="text_legende"><h2>Legende</h2><br></span>';
/*               leg+='<table border="0" cellspacing="0"  bordercolor="#000000" style="border-collapse: collapse" cellpadding="0" width="125">';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/post.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">';
               leg+='    </td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <p class="text_legende">Post</td>';
               leg+='  </tr>';
               leg+='</table>';
*/




//               leg+='<p style="padding-top:2px;padding-bottom:2px;" class="text_normal"></p>';
               leg+='<table border="0" cellspacing="0"  bordercolor="#000000" style="border-collapse: collapse" cellpadding="0" width="185">';
               leg+='  <tr>';
               leg+='    <td width="55" height="40" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" style="background-repeat:no-repeat; border-style: solid; border-width: 0" background="/view/Oev/umk5min.png" >';
               leg+='    </td>';
               leg+='    <td width="10" height="40" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">';
               leg+='    </td>';
               leg+='    <td class="text_legende" width="150" height="40" bordercolor="#FFFFFF">';
               leg+='    <p class="text_legende">Umkreis 5 Gehminuten<br>(300m)<p></td>';
               leg+='  </tr>';


               leg+='  <tr>';
               leg+='    <td width="55" height="55" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" style="background-repeat:no-repeat; border-style: solid; border-width: 0" background="/view/Oev/umk7min.png" >';
               leg+='    </td>';
               leg+='    <td width="10" height="55" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">';
               leg+='    </td>';
               leg+='    <td class="text_legende" width="150" height="55" bordercolor="#FFFFFF">';
               leg+='    <p class="text_legende">Umkreis 7 Gehminuten<br>(420m)<p></td>';
               leg+='  </tr>';

               leg+='</table>';


               leg+='<p style="padding-top:10px;padding-bottom:5px;" class="text_normal">Buslinien</p>';
               leg+='<table border="0" cellspacing="0"  bordercolor="#000000" style="border-collapse: collapse" cellpadding="0" width="125">';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l11.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">';
               leg+='    </td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <p class="text_legende"><a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l11.pdf">Linie 11</a></td>';
               leg+='  </tr>';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l12.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <font color="#000000" style="font-size: 10px">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l12.pdf">';
               leg+='    <font color="#000000">Linie 12</font></a></font></td>';
               leg+='  </tr>';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l13.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <font color="#000000" style="font-size: 10px">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l13.pdf">';
               leg+='    <font color="#000000">Linie 13</font></a></font></td>';
               leg+='  </tr>';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l14.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <font color="#000000" style="font-size: 10px">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l14.pdf">';
               leg+='    <font color="#000000">Linie 14</font></a></font></td>';
               leg+='  </tr>';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l21.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <font color="#000000" style="font-size: 10px">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l21.pdf">';
               leg+='    <font color="#000000">Linie 21</font></a></font></td>';
               leg+='  </tr>';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l22.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <font color="#000000" style="font-size: 10px">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l22.pdf">';
               leg+='    <font color="#000000">Linie 22</font></a></font></td>';
               leg+='  </tr>';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l24.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <font color="#000000" style="font-size: 10px">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l24.pdf">';
               leg+='    <font color="#000000">Linie 24</font></a></font></td>';
               leg+='  </tr>';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l26.gif">';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <font color="#000000" style="font-size: 10px">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l26.pdf">';
               leg+='    <font color="#000000">Linie 26</font></a></font></td>';
               leg+='  </tr>';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l31.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <font color="#000000" style="font-size: 10px">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l31_32.pdf">';
               leg+='    <font color="#000000">Linie 31/32</font></a></font></td>';
               leg+='  </tr>';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l33.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <font color="#000000" style="font-size: 10px">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l33.pdf">';
               leg+='    <font color="#000000">Linie 33</font></a></font></td>';
               leg+='  </tr>';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l34.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <font color="#000000" style="font-size: 10px">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l34.pdf">';
               leg+='    <font color="#000000">Linie 34</font></a></font></td>';
               leg+='  </tr>';
               leg+='';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l35.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <font color="#000000" style="font-size: 10px">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l35.pdf">';
               leg+='    <font color="#000000">Linie 35</font></a></font></td>';
               leg+='  </tr>';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/l36.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="78" height="14" bordercolor="#FFFFFF">';
               leg+='    <font color="#000000" style="font-size: 10px">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/fahrplaene/l36.pdf">';
               leg+='    <font color="#000000">Linie 36E</font></a></font></td>';
               leg+='  </tr>';
               leg+='</table>';
               leg+='<p style="padding-top:5px;padding-bottom:5px;" class="text_normal">Eisenbahn</p>';
               leg+='<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#000000"  width="124">';
               leg+='  <tr>';
               leg+='    <td width="35" height="14" bordercolor="#FFFFFF" style="border-style: solid; border-width: 0" background="/view/Oev/bahn.gif" >';
               leg+='    </td>';
               leg+='    <td width="10" height="14" bordercolor="#FFFFFF"></td>';
               leg+='    <td class="text_legende" width="77" height="14" bordercolor="#FFFFFF">';
               leg+='    <a title="Fahrplan öffnen" target="_blank" href="http://www.lba.li/fileadmin/user_upload/pdf/obb_bahn_fkbuchsfk.pdf">';
               leg+='    <span style="font-size: 10px"><font color="#000000">Bahnlinie</font></span></a></td>';
               leg+='  </tr>';
               leg+='</table>';
               leg+='<p style="padding-top:5px; padding-bottom:5px;" class="text_normal"><h2>Download</h2></p>';
               leg+='<p style="padding-top:5px; padding-bottom:5px;" class="text_normal">Testdaten für Google Earth</p>';
               leg+='<p><a target="_blank" title="Download für Google Earth" href="../../lba/oev.kmz">';
               leg+='<img border="0" src="http://www.google.com/earth/images/download_earth.gif" width="93" height="25"></a></p>';
               leg+= '</div>';






          viewport = new Ext.Viewport({
                layout: 'border',
                items: [
                    new Ext.BoxComponent({
                        region: 'north',
                        el: 'north',
                        height: 116
                    }), 
                    {
                    region: 'west',
                    id: 'west-panel',
                    title: 'Menü',
                    split: true,
                    width: 280,
                    minSize: 175,
                    maxSize: 400,
                    collapsible: true,
                    margins: '7 0 0 5',
                    layout: 'accordion',
                    layoutConfig:{
                        animate: true
                    },
                    items: [

                        {
                        id  : 'suchaccordion',
                        title: 'Suchen/Legende',
                        autoScroll : true,
                        html: '<div style="padding-left:5px; padding-top:10px;"><h2>Haltestelle suchen</h2><br><div id="Search" ></div></div>' +leg,
                        border: false
                        }
                       ,
                        {
                        title: 'Themenauswahl/&Uuml;bersichtskarte',
                        html: '<div style="padding-top:10px;padding-bottom:10px;padding-left:5px"><h2>Themen</h2></div><div id="tree"></div><div style="padding-left:5px; padding-top:10px;padding-bottm:15px;"><h2>&Uuml;bersichtskarte</h2></div><div style="padding-left:0px;" id="overview">',
                        border: false
                        }

                     ]
                  }
                 ,
                  {
                        region: "center",
                        id: "mappanel",
                        border: false,
                        margins: '7 7 0 0 ', 
                        xtype: "gx_mappanel",
                        map: map,
                        tbar: mytoolbar.toolbarItems,
                        split: true,
                        items: [{
                             xtype: "gx_zoomslider",
                             vertical: true,
                             height: 120,
                             x: 10,
                             y: 20,
                             plugins: new GeoExt.ZoomSliderTip({ template: "Massstab ca. 1:{scale}<br>Zoomstufe: {zoom}"  })
                      }]
                  }
                  ,
                  {
                        region: 'south',
                        id: 'statusBar',
                        border: false,
                        bodyStyle: 'text-align:left;padding:0px;',
                        height: 25,
                        margins: '7 0 0 0',
                        frame: true,
                        html: 'a status bar'
                   }
                ]
        });

//////////////////////   Ende Vieport ////////////////////////

///////////////////////////////////////////////////
// Layer Tree erstellen und rendern
///////////////////////////////////////////////

       var base = new GeoExt.tree.BaseLayerContainer({
              text: 'Hintergrund',
              leaf: false,
              expanded: true
       });

       var over = new GeoExt.tree.LayerContainer({
           text: 'Themen',
           leaf: false,
           expanded: true,
           loader: {
             filter: function(record) {
               var  isOK = false;
               if ( (record.get("layer").name.indexOf("Bus") != -1 )) { isOK = true}
               return isOK;
              }
           }
      });


       var layerRoot = new Ext.tree.TreeNode({
 	                expanded: true,
                        text: 'Geodatenportal'
       });


  var  layerTree = new GeoExt.ux.tree.LayerTreeBuilder({
        renderTo: document.getElementById('tree'),
        autoScroll: true,
        header: false,
        title: "Layerliste",
        root: layerRoot,
        rootVisible: true,
        enableDD: true,
        collapsible: true,
        lines: false,
        border: false,
        // widget custom properties
        wmsLegendNodes: false,
        vectorLegendNodes: false
    });


/*
      var tree = new Ext.tree.TreePanel({
        renderTo: document.getElementById('tree'),
        root: root,
        enableDD: true,
        x: 3,
        y: 3
      });

*/
      layerRoot.appendChild (base);
      layerRoot.appendChild (over);

////////////////////////////////////////////////////
// Map ergaenzen und initialisieren
////////////////////////////////////////////////////

     var ovlayer = new OpenLayers.Layer.GeoShop( "Reliefkarte", serverurl + "/webclient",  {'view': 'pixelk_10_100_farbig_tale'}, { projection: "EPSG:21780", ratio: 1, singleTile: true });         
     var overview = new OpenLayers.Control.OverviewMap({layers: [ovlayer], minRatio: '100', maxRatio: '200',   size: new OpenLayers.Size(260,225), 'div': document.getElementById('overview'), mapOptions: {maxExtent: ovextent, theme: null}});
     map.addControl(overview);

//      map.zoomToMaxExtent();
//      update_scaleform 
      map.addControl(new OpenLayers.Control.ScaleLine());

//      update_scaleform ;         
      this.setStatus('Status: ready');
      update_scaleform();                  
      map.sBar = new searchBar (map, 1600, "- - - Haltestelle suchen - - -",4);
      map.sBar.writeDOM ("Search","font-family:Areal; font-size:8px: align:left");

      
   }
  };
 }(); // end of app




