// JavaScript Document
// config_p.js
// Projekt-Konfiguration

/////////////////////////
//PROJEKT-KONFIGURATION//
/////////////////////////

//!anpassen!////////////////////////////////////////
var appURL = './';
var appPath = appPathBase + 'homberg/';

//Layout
var appName="Hessentag 2008 Homberg"
var logoTitlebox1='logo.png'; //großer Titelbereich links oben
var logoTitlebox2='logo-geoventis-klein.png'; //kleiner Titelbereich rechts oben

//Drucken
//erlaubte Papierformate
// 1: erlaubt
// 0: nicht erlaubt
// Reihenfolge: A4 A3 A2 A1
var pageFormats='1100';
//Standard-Papierformat
var pageFormatStd = 'A4';
//Copyright-Vermerk/Haftungsausschluss
var printNote = '';
////////////////////////////////////////////////////

//Datengrundlage wandert als globalDSNType in search[] oder als search[n].dsnType in die LayerInfos
//var dsnType='SHAPEFILE'; // POSTGIS (Postgres) oder SHAPEFILE (Shape) oder OGR (alles andee ;-), z.B. MapInfo)

/* Themen */

	//!anpassen!////////////////////////////////////////
		var projectBBox = '3523089 5643818, 3534172 5660595';
		//var projectBBox = '3526255 5653449, 3530924 5656624';
		//var projectBBox = '3525883 5651443, 3532038 5659311';
		var nThemes = 5; // Anzahl der Themen						
		var activeTheme = 1; // aktives Thema, hier Start-Thema 
   	 var startupMapfile = ''; //Mapfile für ersten Aufruf, wenn leer, wird Start-Thema verwendet
	////////////////////////////////////////////////////

	var theme = new Array();
	for (var i=0;i<nThemes;i++) {
		theme[i] = new Object();
	}
	
	// .name: 	Name des Themas
	// .mapfile: 	Mapfile
	// .bbox:	Boundingbox, '' bedeutet Gesamtextent
	// .initialbbox:	Initial-Boundingbox, '' bedeutet Themen-Extent (bzw. Gesamtextent)	
	// .searchID:	Array, welche Suchen sind aktiv
	
	//!anpassen!////////////////////////////////////////
		theme[0].name = 'Hessentag mit Luftbildern';
		theme[0].mapfile = 'homberg_stadt_h_o_hvbg.map';
		theme[0].bbox = '';
		theme[0].initialbbox = '3526255 5653449, 3530924 5656624';
		theme[0].searches = '1110';
		
		theme[1].name = 'Hessentag';
		theme[1].mapfile = 'homberg_stadt_h_hvbg.map';
		theme[1].bbox = '';
		theme[1].initialbbox = '3526200 5653100, 3530400 5656600';		
		theme[1].searches = '1110';
		
		theme[2].name = 'Stadplan';
		theme[2].mapfile = 'homberg_stadt_s_o_hvbg.map';
		theme[2].bbox = '';
		theme[2].initialbbox = '';				
		theme[2].searches = '1100';

		theme[3].name = 'Stadtplan ohne Luftbilder';
		theme[3].mapfile = 'homberg_stadt_s_hvbg.map';
		theme[3].bbox = '';
		theme[3].initialbbox = '';		
		theme[3].searches = '1100';
		
		theme[4].name = 'Hessentag Anfahrt';
		theme[4].mapfile = 'homberg_stadt_h_an_hvbg.map';
		theme[4].bbox = '';
		theme[4].initialbbox = '';		
		theme[4].searches = '1111';		
		
	////////////////////////////////////////////////////
	
	//Start-Thema setzen, Pfade ergänzen
	for (var i=0;i<nThemes;i++) {
		theme[i].mapfile = appPath + 'map/' + theme[i].mapfile;
	}
	var mapfile = theme[activeTheme].mapfile;
	startupMapfile = (startupMapfile!='') ? (appPath + 'map/' + startupMapfile) : mapfile;
	
/* Ende Themen */

/* Suchen */
	
	var search = new Array();
	
	// name: 	Name der Suche (Alias)
	// table: 	Suchtabelle
	// qLayer:  	Name des Layers im Mapfile
	// url:		Suchlisten-URL
	// auxCondition: Zusatz-Bedingung für letzte Listbox-> Suche z.B. bei Adresssuche 'lauf_nr=1'
	// buffer:  	Buffer um gesuchtes Objekt (für neuen Ausschnitt)
	// combo[i]:		Kombo-Ids
	// 		id:		Listbox-Id (für interne Zwecke)
	//		idField: 	Suchfeld
	//		idFieldType: Feldtyp ['num'|'text']
	//		nameField: 	Klartextfeld
	//		selText:	Text, der in leerer Listbox erscheint
	//		width:		Breite der Kombobox, Summe max. 344 (inklusive Distanz zwischen Boxen, je 3px)
	//		parentField: Eltern(Id)feld
	
	//!anpassen!////////////////////////////////////////

		search[0]=	{
			dsnType: 'SHAPEFILE',
			name: 'Adressen',
			table: 'adresse',
			qLayer: 'Gebaeude',
			url: './php/doubleComboSlave.php',
			auxCondition: "lauf_nr='1'",
			buffer: 100,
			button: false,
			combo: [
				{
					id	    	: 'elSelAdrStr',
					//searchTable : 'adresse',
			      	idField     : 'strasse',
			      	idFieldType : 'num',			      	
	      			nameField   : 'strassenna',
	      			selText     : '- Straße -',
	      			width		: '270px'//,
					//parentField : 'gemeinde'
      			},
				{
					id	    	: 'elSelAdrHnr',
					//searchTable : 'adresse',
			      	idField     : 'hausnummer',
			      	idFieldType : 'text',			      	
	      			nameField   : 'hausnummer',
	      			selText     : '- Nr -',
	      			width		: '68px'//,
	      			//parentField : 'strasse'
      			}
      		]      			
		};
		
		search[1]=	{
			dsnType: 'SHAPEFILE',			
			name: 'Straßen',
			table: 'strassen',
			qLayer: 'Strassen',			
			url: './php/doubleComboSlave.php',
			auxCondition: '',
			buffer: -1,
			button: false,				
			combo: [
				{
				 	id	    	: 'elSelStrStr',
					//searchTable : 'strassen',
			      	idField     : 'gid',
			      	idFieldType : 'num',			      	
	      			nameField   : 'text',
	      			selText     : '- Straße -',
	      			width		: '344px'//,
					//parentField : 'gemeinde'				 	
      			}
      		]
		};
		
		search[2]=	{
			dsnType: 'SHAPEFILE',			
			name: 'Hessentagsthemen',
			table: 'hessentagsthemen',
			qLayer: 'hessentagsthemen',
			url: './php/doubleComboSlave.php',
			auxCondition: '',
			buffer: 200,
			button: false,			
			combo: [
				{
					id	    	: 'elSelHTTH',
					idField     : 'beschr',
			      	idFieldType : 'text',			      	
	      			nameField   : 'beschr',
	      			selText     : '- Thema -',
	      			width		: '344px'
      			        }
				
		]      			
		};
		
		
			search[3]=	{
			dsnType: 'SHAPEFILE',			
			name: 'Anfahrt',
			table: 'anfahrt',
			qLayer: 'Anfahrt',
			url: './php/doubleComboSlave.php',
			auxCondition: '',
			buffer: 1900,
			button: false,			
			combo: [
				{
					id	    	: 'elSelHTAn',
					//searchTable : 'adresse',
			      	idField     : 'text',
			      	idFieldType : 'text',			      	
	    			nameField   : 'beschr',
	      			selText     : '- Richtung -',
	      			width		: '344px'//,
					//parentField : 'gemeinde'
      		                }
                ]
                };      			
	


	////////////////////////////////////////////////////
	
	//Groß-/Kleinschreibung bei Feldnamen korrigieren
	for (var i=0;i<search.length;i++) {
		for (var ii=0;ii<search[i].combo.length;ii++) {
			if (search[i].dsnType=='SHAPEFILE' || search[i].dsnType=='OGR') {
				search[i].combo[ii].idField=search[i].combo[ii].idField.toUpperCase();
				search[i].combo[ii].nameField=search[i].combo[ii].nameField.toUpperCase();
				search[i].auxCondition=search[i].auxCondition.toUpperCase();				
			} else if (search[i].dsnType=='POSTGIS') {
				search[i].combo[ii].idField=search[i].combo[ii].idField.toLowerCase();
				search[i].combo[ii].nameField=search[i].combo[ii].nameField.toLowerCase();			
				search[i].auxCondition=search[i].auxCondition.toLowerCase();
				search[i].auxCondition=search[i].auxCondition.toLowerCase();				
			}
		}
	};

/* Ende Suchen */

/* Info */
	
	var infoLayer = new Array();
	
	// name:	Name des Layers als Shapefile oder PostGIS-Tabelle
	// mapalias:	Name des Layers im Mapfile	
	// dispalias:	Name des Layers bei der Info-Anzeige
	// tolerance:	Suchradius beim Abfragen des Click-Events
	// fields[ii]  : 	Infofelder
	//			name:	Feldname
	//			alias:	Alias (wenn leer, keine Anzeige, für Linkfelder)
	//			maptip:	Maptip-Feld (numerisch, 1 = eingeschaltet)
	//!anpassen!////////////////////////////////////////
	
	infoLayer[0]= {
		dsnType: 'SHAPEFILE',			
		name	  : 'adresse',
		mapalias  : 'Gebaeude',
		dispalias : 'Gebäude',
		tolerance : 0.5,
		fields	  : [
				{ name:'strassenna', alias:'Straße', maptip:1},
				{ name:'hausnummer', alias:'Hausnummer', maptip:1}
		]
	};

	infoLayer[1]= {
		dsnType: 'SHAPEFILE',					
		name		: 'strassen',
		mapalias	: 'Strassen',
		dispalias	: 'Straßen',
		tolerance : 0.5,
		fields	: [
				{ name:'text', alias:'Straße', maptip:1}
		]
	};

	infoLayer[2]= {
		dsnType: 'SHAPEFILE',					
		name		: 'symbole_flaechen_punkte_s',
		mapalias	: 'hessentagsymbole',
		dispalias	: 'Hessentag',
		tolerance : 10.5,
		fields	: [
				{ name:'infoaus', alias:'Beschreibung', maptip:1},
				{ name:'LINK', alias:'Link'}
		]
	};
	infoLayer[3]= {
		dsnType: 'SHAPEFILE',					
		name		: 'hessentagsthemen',
		mapalias	: 'hessentagsthemen',
		dispalias	: 'Hessentagsthemen',
		tolerance : 10.5,
		fields	: [
				{ name:'beschr', alias:'Beschreibung', maptip:1},
				{ name:'Link', alias:'Link'}
		]
	};
	infoLayer[4]= {
		dsnType: 'SHAPEFILE',					
		name		: 'anfahrt',
		mapalias	: 'Anfahrt',
		dispalias	: 'Anfahrtsbeschreibung',
		tolerance : 0.5,
		fields	: [
				{ name:'infoaus', alias:'Beschreibung'}
		]
	};
	infoLayer[5]= {
		dsnType: 'SHAPEFILE',					
		name		: 'musterenergie',
		mapalias	: 'Musterenergie',
		dispalias	: 'Hessentagsthemen',
		tolerance : 10.5,
		fields	: [
				{ name:'infoaus', alias:'Beschreibung', maptip:1}
		]
	};



	////////////////////////////////////////////////////	
	//Groß-/Kleinschreibung bei Feldnamen korrigieren
	for (var i=0;i<infoLayer.length;i++) {
		for (var ii=0;ii<infoLayer[i].fields.length;ii++) {
			if (infoLayer[i].dsnType=='SHAPEFILE' || infoLayer[i].dsnType=='OGR') {
				infoLayer[i].fields[ii].name=infoLayer[i].fields[ii].name.toUpperCase();
			} else if (infoLayer[i].dsnType=='POSTGIS') {
				infoLayer[i].fields[ii].name=infoLayer[i].fields[ii].name.toLowerCase();
			}
		}
		if (infoLayer[i].fromfield) {
			if (infoLayer[i].dsnType=='SHAPEFILE' || infoLayer[i].dsnType=='OGR') {
				infoLayer[i].fromfield=infoLayer[i].fromfield.toUpperCase();
			} else if (infoLayer[i].dsnType=='POSTGIS') {
				infoLayer[i].fromfield=infoLayer[i].fromfield.toLowerCase();
			}
		}		
	};
	
/* Ende Info */	

////////////
//Tools//
////////////

// Map-Tools
var maptoolMode='PAN';
var useZOOMIN=true;
var useZOOMOUT=true;
var useZOOMFULL=true;
var usePAN=true;
var useIDENTIFY=true;
var useMEASURE=true;
var usePRINT=true;
//Toggle-Buttons
var useTOGGLEREF=true;
var useTOGGLELEG=true;
//Sonstige
var useHELP=true;
var useIMPRINT=true; //Impressum

//MouseWheel
var useWheelZoom=true;

//Maptips
//  Maptip-Verzögerung in ms
//  -1 für keine Maptips
var maptipTimeout=700;

/////////////////////
//Externe Anwendungen
/////////////////////

//Name des HiddenFrames für Externen Aufruf
//für WebFlur
//parent.frames[1].name = 'GIS';

