﻿/* Info-Panel */
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';

Ext.apply(Ext.form.VTypes, {
	emailText: 'Bitte geben Sie eine gültige E-Mail-Adresse in der Form abc@xyz.de ein.'
});

Ext.override(Ext.form.Field, {
	afterRender: function () {
		if (this.helpText) {
			var label = findLabel(this);
			if (label) {
				var helpImage = label.createChild({
					tag: 'img',
					src: './img/help.gif',
					style: 'vertical-align:text-top; margin: 0 0 0 5px; padding: 0;',
					width: 16,
					height: 16
				});

				Ext.QuickTips.register({
					target: helpImage,
					text: this.helpText,
					enabled: true
				});
			}
		}
		Ext.form.Field.superclass.afterRender.call(this);
		this.initEvents();
	}
});



var findLabel = function (field) {
	var wrapDiv = null;
	var label = null;

	//find form-item and label
	wrapDiv = field.getEl().up('div.x-form-item');
	if (wrapDiv) {
		label = wrapDiv.child('label');
	}
	if (label) {
		return label;
	}
};
var storeLos = new Ext.data.JsonStore({
				proxy: new Ext.data.HttpProxy({
					url: 'formJSON3.php',
					method: 'GET'
				}),
				storeId: 'losStore',
				pruneModifiedRecords: true,
				root: 'data',
				fields: [{
					name: 'ID',
					type: 'int'
				},
				
				{
					name: 'Ortsteil'
				}]
			});
			
var storeLos2 = new Ext.data.JsonStore({
				proxy: new Ext.data.HttpProxy({
					url: 'formJSON3.php',
					method: 'GET'
				}),
				storeId: 'losStore2',
				pruneModifiedRecords: true,
				root: 'data',
				fields: [{
					name: 'ID',
					type: 'int'
				},
				
				{
					name: 'Ortsteil'
				}]
			});
			
var storePhasen = new Ext.data.JsonStore({
				proxy: new Ext.data.HttpProxy({
					url: 'formJSON3.php',
					method: 'GET'
				}),
				storeId: 'phasenStore',
				pruneModifiedRecords: true,
				root: 'data',
				fields: [{
					name: 'ID',
					type: 'int'
					},
					{
					name: 'Gemeinde'
					},
					{
					name: 'Ortsteil'
				}]
			});
			
var storeGeom = new Ext.data.JsonStore({
				proxy: new Ext.data.HttpProxy({
					url: 'formJSON3.php',
					method: 'GET'
				}),
				storeID: 'GeomStore',
				root: 'data',
				fields: [
				{
				name: 'ID',
				type: 'int'
				},
				{
				name: 'Geom'
				},
				{
				name: 'X'
				},
				{
				name: 'Y'
				},
				{
				name: 'Geom_Punkt'
				}
				]
			});
			
var storeGemeindePublic = new Ext.data.JsonStore({
				proxy: new Ext.data.HttpProxy({
					url: 'formJSON3.php',
					method: 'GET'
				}),
				storeID:'GemeindePublicStore',
				root: 'data',
				fields:[
				{name: 'ID', type: 'int'},
				{name: 'Gemeinde'}
				]
});

var storeOrtsteilPublic = new Ext.data.JsonStore({
				proxy: new Ext.data.HttpProxy({
					url: 'formJSON3.php',
					method: 'GET'
				}),
				storeID:'OrtsteilPublicStore',
				root: 'data',
				fields:[
				{name: 'ID', type: 'int'},
				{name: 'Ortsteil'}
				]
});

var storeAllgemein = new Ext.data.JsonStore({
				proxy: new Ext.data.HttpProxy({
					url: 'formJSON3.php',
					method: 'GET'
				}),
				storeID: 'AllgemeinStore',
				root: 'data',
				fields: [
					{
					name: 'ID',
					type: 'int'
					},
					{
					name: 'Gemeinde'
					},
					{
					name: 'Ortsteil'
					},
					{
					name: 'Technologie'
					},
					{
					name: 'Bieter'
					},
					{
					name: 'Technologie2'
					},
					{
					name: 'Phase'
					}
				]
			});
			
var storeBieter = new Ext.data.JsonStore({
				proxy: new Ext.data.HttpProxy({
					url: 'formJSON3.php',
					method: 'GET'
				}),
				storeID: 'BieterStore',
				root: 'data',
				fields: [
					{name: 'Name'},
					{name: 'Kuerzel'},
					{name: 'Ansprechpartner'},
					{name: 'PLZ'},
					{name: 'Strasse'},
					{name: 'HSNummer'},
					{name: 'Stadt'},
					{name: 'EMail'},
					{name: 'Hotline'}
				]
});
			

var storeMilestone = new Ext.data.JsonStore({
				proxy: new Ext.data.HttpProxy({
					url: 'formJSON3.php',
					method: 'GET'
				}),
				storeID: 'MilestoneStore',
				root: 'data',
				fields: [
					{
					name: 'ID',
					type: 'int'
					},
					{
					name: 'Los'
					},
					{
					name: 'VM1_Soll',
					type: 'date',
					dateFormat: 'Y-m-d'
					},
					{
					name: 'VM1_Erfullt',
					type: 'date',
					dateFormat: 'Y-m-d'
					},
					{
					name: 'VM2_Soll',
					type: 'date',
					dateFormat: 'Y-m-d'
					},
					{
					name: 'VM2_Erfullt',
					type: 'date',
					dateFormat: 'Y-m-d'
					},
					{
					name: 'VM3_Soll',
					type: 'date',
					dateFormat: 'Y-m-d'
					},
					{
					name: 'VM3_Erfullt',
					type: 'date',
					dateFormat: 'Y-m-d'
					}]
				});
				
var storeVM = new Ext.data.SimpleStore({
				storeID: 'VMStore',
				fields: [
					{name: 'VM_ID'},
					{name: 'pic'},
					{name: 'VM_Status'}
				]
			});

			
var storeFS = new Ext.data.SimpleStore({
				storeID: 'FSStore',
				fields: [
					{name: 'Fortschritt'}
				]
});
			
var storeFile = new Ext.data.JsonStore({
				proxy: new Ext.data.HttpProxy({
					url: 'getFile.php',
					method: 'GET'
				}),
				storeID: 'FileStore',
				root: 'data',
				fields: [
					{name: 'proof'},
					{name: 'link'}
				]
			});
			
var storeBPruef = new Ext.data.JsonStore({
				proxy: new Ext.data.HttpProxy({
					url: 'formJSON3.php',
					method: 'GET'
				}),
				storeID: 'BPruefStore',
				root: 'data',
				fields: [
					{name: 'ID'},
					{name: 'Bildverweis'}
				]
			});
			
var storeBandbreite = new Ext.data.JsonStore({
				proxy: new Ext.data.HttpProxy({
					url: 'formJSON3.php',
					method: 'GET'
				}),
				storeID: 'BandbreiteStore',
				root: 'data',
				fields: [
					{name: 'ID'},
					{name: 'LTE'},
					{name: 'b2MBit'},
					{name: 'b16MBit'},
					{name: 'b25MBit'},
					{name: 'b50MBit'}
				]
			});
			
var storeBB = new Ext.data.SimpleStore({
				storeID: 'VMStore',
				fields: [
					{name: 'BB_LTE'},
					{name: 'BB_2MBit'},
					{name: 'BB_16MBit'},
					{name: 'BB_25MBit'},
					{name: 'BB_50MBit'}
				]
});

var storeBBM = new Ext.data.SimpleStore({
				storeID: 'VMStore',
				fields: [
					{name: 'BB_LTE_M'},
					{name: 'BB_Festnetz_M'}
				]
});

var LegendeData = [
		['<img src=./Bilder/Status/1.png>', 'Es wurde noch nicht begonnen.'],
		['<img src=./Bilder/Status/2.png>', 'M1 wurde abgeschlossen.'],
		['<img src=./Bilder/Status/3.png>', 'M1 befindet sich im Verzug.'],
		['<img src=./Bilder/Status/4.png>', 'M2 wurde abgeschlossen.'],
		['<img src=./Bilder/Status/5.png>', 'M2 befindet sich im Verzug.'],
		['<img src=./Bilder/Status/6.png>', 'M3 wurde abgeschlossen.'],
		['<img src=./Bilder/Status/7.png>', 'M3 befindet sich im Verzug.'],
		['<img src=./Bilder/Status/Status99.png>','nicht Bestandteil des Breitbandausbaus']
];

var LegendeFSData = [
		['<img src=./Bilder/Status/LegendeFS0.png>','Planungsphase'],
		['<img src=./Bilder/Status/LegendeFS1.png>','Baubeginn'],
		['<img src=./Bilder/Status/LegendeFS2.png>','Infrastruktur errichtet'],
		['<img src=./Bilder/Status/LegendeFS3.png>','Erschließung abgeschlossen / Inbetriebnahme'],
		['<img src=./Bilder/Status/Status99.png>','nicht Bestandteil des Breitbandausbaus']
];

var LegendeTechData = [
		['<img src=./Bilder/Status/LegendeTech1.png>','<a href="http://www.breitband-bautzen.de/faq.php#hquest4" title="FAQ: Was bedeuten die Abkürzungen ADLS, ADSL2+, VDSL und LTE?" target="_blank">ADSL</a>'],
		['<img src=./Bilder/Status/LegendeTech2.png>','<a href="http://www.breitband-bautzen.de/faq.php#hquest4" title="FAQ: Was bedeuten die Abkürzungen ADLS, ADSL2+, VDSL und LTE?" target="_blank">ADSL2+</a>'],
		['<img src=./Bilder/Status/LegendeTech3.png>','<a href="http://www.breitband-bautzen.de/faq.php#hquest4" title="FAQ: Was bedeuten die Abkürzungen ADLS, ADSL2+, VDSL und LTE?" target="_blank">ADSL2+/VDSL</a>'],
		['<img src=./Bilder/Status/LegendeTech4.png>','<a href="http://www.breitband-bautzen.de/faq.php#hquest4" title="FAQ: Was bedeuten die Abkürzungen ADLS, ADSL2+, VDSL und LTE?" target="_blank">LTE</a>'],
		['<img src=./Bilder/Status/LegendeTech13.png>','<a href="http://www.breitband-bautzen.de/faq.php#hquest4" title="FAQ: Was bedeuten die Abkürzungen ADLS, ADSL2+, VDSL und LTE?" target="_blank">ADSL & ADSL2+/VDSL</a>'],
		['<img src=./Bilder/Status/LegendeTech14.png>','<a href="http://www.breitband-bautzen.de/faq.php#hquest4" title="FAQ: Was bedeuten die Abkürzungen ADLS, ADSL2+, VDSL und LTE?" target="_blank">ADSL & LTE</a>'],
		['<img src=./Bilder/Status/LegendeTech34.png>','<a href="http://www.breitband-bautzen.de/faq.php#hquest4" title="FAQ: Was bedeuten die Abkürzungen ADLS, ADSL2+, VDSL und LTE?" target="_blank">ADSL2+/VDSL & LTE</a>'],
		['<img src=./Bilder/Status/Status99.png>','<a href="http://www.breitband-bautzen.de/faq.php#hquest2" title="FAQ: Was bedeuten die Abkürzungen ADLS, ADSL2+, VDSL und LTE?" target="_blank">nicht Bestandteil des Breitbandausbaus</a>']
];

			
var storeLegende = new Ext.data.SimpleStore({
				storeID: 'LegendeStore',
				fields: [
					{name: 'Farbe'},
					{name: 'Bedeutung'}
				]
				//data: LegendeTechData
});

storeLegende.loadData(LegendeFSData);

var kleinerhelfer = 0;

var x;
var y;
var Geom_Punkt;

var LTECmp;
var BB2Cmp;
var BB16Cmp;
var BB25Cmp;
var BB50Cmp;


var DLText;
var DLText2;
var FSBalken;
var FSText;

var GeomCmp = ['0','0'];
					
var VM1_Status;
var VM2_Status;
var VM3_Status;
var Ueberfaellig;

var VM_pic;
var VM0_pic;
var VM1_pic;
var VM2_pic;
var VM3_pic;

var LosLink;
var link;
var pruef;
var prueflistener;

var IMG_Status0 = './Bilder/Status/Status00.png'; //Nein - (Leerfeld)
var IMG_Status1 = './Bilder/Status/Status1.png'; //JA
var IMG_Status2 = './Bilder/Status/Status0.png'; //Verzug

var IMG_Fortschritt0 = './Bilder/Status/Fortschritt0.png'; //noch nicht begonnen oder nichts erreicht?!
var IMG_Fortschritt1 = './Bilder/Status/Fortschritt1.png'; //VM1 beendet
var IMG_Fortschritt2 = './Bilder/Status/Fortschritt2.png'; //VM2 beendet
var IMG_Fortschritt3 = './Bilder/Status/Fortschritt3.png'; //VM3 beendet

var logo;
var IMG_Logo_DTAG = './Bilder/Logo_DTAG.png';
var IMG_Logo_Duerki = './Bilder/Logo_Duerki.png';

var Heute = new Date(); //Heute
var Datum;
var Fehlerort;

var comboLosnummer = new Ext.form.ComboBox({
			xtype: 'combo',
			id: 'combo-Los',
			fieldLabel: 'Los-Nummer',
			queryDelay: 10,
			queryParam: 'los',
			loadingText: 'Lade...',
			helpText: 'Bitte hier die gesuchte Losnummer eingeben.',
			listEmptyText: 'Keine Einträge gefunden!',
			forceSelection: true,
			store: storeLos,
			allowBlank: true,
			valueField: 'ID',
			displayField: 'ID',
			hiddenName: 'los',
			hiddenValue: 'ID',
			//typeAhead: true,
			cls: 'ExtContainer',
			mode: 'remote',
			minChars: 1,
			triggerAction: 'all',
			emptyText: 'Los-Nummer',
			selectOnFocus: true,
			listWidth: 250,
			width: 250,
			listeners: {
					select: {
						fn :	function(combo, value){
									listener(combo, value);
								}
	
							}

					}
});
				
var GemeindeFeld = new Ext.form.DisplayField({
		id: 'GemeindeField',
		fieldLabel: 'Gemeinde',
		name: 'gemeinde',
		store: storeAllgemein
});	

var comboGemeinde = new Ext.form.ComboBox({
			xtype: 'combo',
			id: 'combo-Gemeinde',
			fieldLabel: 'Gemeinde',
			queryDelay: 10,
			queryParam: 'Gemeinde',
			loadingText: 'Lade...',
			helpText: 'Bitte hier die gesuchte Gemeinde auswählen.',
			listEmptyText: 'Keine Einträge gefunden!',
			forceSelection: true,
			store: storeGemeindePublic,
			allowBlank: true,
			valueField: 'ID',
			displayField: 'Gemeinde',
			hiddenName: 'gemeinde',
			hiddenValue: 'ID',
			cls: 'ExtContainer',
			mode: 'remote',
			//readOnly: true,
			editable: false,
			triggerAction: 'all',
			emptyText: 'Bitte Gemeinde wählen..',
			selectOnFocus: true,
			listWidth: 250,
			width: 250,
			listeners: {
					select: {
						fn :	function(combo, value) {
									listener_GemeindePublic(combo, value);
								}
	
							}

					}
					
});	

var comboGemeindePublic = new Ext.form.ComboBox({
			xtype: 'combo',
			id: 'combo-GemeindePublic',
			fieldLabel: 'Gemeinde',
			queryDelay: 10,
			queryParam: 'Gemeinde',
			loadingText: 'Lade...',
			helpText: 'Bitte hier die gesuchte Gemeinde auswählen.',
			listEmptyText: 'Keine Einträge gefunden!',
			forceSelection: true,
			store: storeGemeindePublic,
			allowBlank: true,
			valueField: 'ID',
			displayField: 'Gemeinde',
			hiddenName: 'gemeindepublic',
			hiddenValue: 'ID',
			cls: 'ExtContainer',
			mode: 'remote',
			//readOnly: true,
			editable: false,
			triggerAction: 'all',
			emptyText: 'Bitte Gemeinde wählen..',
			selectOnFocus: true,
			listWidth: 250,
			width: 250,
			listeners: {
					select: {
						fn :	function(combo, value) {
									listener_GemeindePublic(combo, value);
								}
	
							}

					}
					
});	

var comboOrtsteilPublic = new Ext.form.ComboBox({
			xtype: 'combo',
			id: 'combo-OrtsteilPublic',
			fieldLabel: 'Ortsteil',
			queryDelay: 10,
			queryParam: 'OrtsteilPublic',
			loadingText: 'Lade...',
			helpText: 'Bitte hier den gesuchten Ortsteil auswählen.',
			listEmptyText: 'Bitte zuerst die Gemeinde wählen.',
			forceSelection: true,
			store: storeOrtsteilPublic,
			allowBlank: true,
			valueField: 'ID',
			displayField: 'Ortsteil',
			hiddenName: 'ortsteil',
			hiddenValue: 'ID',
			cls: 'ExtContainer',
			mode: 'local',
			triggerAction: 'all',
			emptyText: 'Bitte Ortsteil wählen..',
			selectOnFocus: true,
			editable: false,
			listWidth: 250,
			width: 250,
			listeners: {
					select: {
						fn :	function(combo, value) {
									listener_OrtsteilPublic(combo, value);
								}
	
							}

					}
					
});			



var comboOrtsteil = new Ext.form.ComboBox({
			xtype: 'combo',
			id: 'combo-Ortsteil',
			fieldLabel: 'Ortsteil',
			queryDelay: 10,
			queryParam: 'Ortsteil',
			loadingText: 'Lade...',
			helpText: 'Bitte hier den gesuchten Ortsteil eingeben.',
			listEmptyText: 'Keine Einträge gefunden!',
			forceSelection: true,
			store: storeLos2,
			allowBlank: true,
			valueField: 'ID',
			displayField: 'Ortsteil',
			hiddenName: 'ortsteil',
			hiddenValue: 'ID',
			//typeAhead: true,
			cls: 'ExtContainer',
			mode: 'remote',
			minChars: 2,
			triggerAction: 'all',
			emptyText: 'Ortsteil',
			selectOnFocus: true,
			listWidth: 250,
			width: 250,
			listeners: {
					select: {
						fn :	function(combo, value) {
									listener(combo, value);
								}
	
							}

					}
});	

var comboOrtsteil2 = new Ext.form.ComboBox({
			xtype: 'combo',
			id: 'combo-Ortsteil2',
			fieldLabel: 'Ortsteil2',
			queryDelay: 10,
			queryParam: 'Ortsteil',
			loadingText: 'Lade...',
			helpText: 'Bitte hier den gesuchten Ortsteil eingeben.',
			listEmptyText: 'Keine Einträge gefunden!',
			forceSelection: true,
			store: storeLos2,
			allowBlank: true,
			valueField: 'ID',
			displayField: 'Ortsteil',
			hiddenName: 'ortsteil',
			hiddenValue: 'ID',
			//typeAhead: true,
			cls: 'ExtContainer',
			mode: 'local',
			minChars: 2,
			triggerAction: 'all',
			emptyText: 'Ortsteil',
			selectOnFocus: true,
			listWidth: 250,
			width: 250,
			Visible: false,
			listeners: {
					select: {
						fn :	function(combo, value) {
									listener(combo, value);
								}
	
							}

					}
});			

var TechnologieFeld = new Ext.form.DisplayField({
		id: 'TechField',
		fieldLabel: 'Technologie',
		name: 'techfield',
		helpText: 'Die zur Erschließung vorgesehene Breitbandtechnologie.'
});

var TechnologieFeld2 = new Ext.form.DisplayField({
		id: 'TechField2',
		fieldLabel: 'Technologie',
		name: 'techfield',
		helpText: 'Die zur Erschließung vorgesehene Breitbandtechnologie.'
});
	
var PhaseFeld = new Ext.form.DisplayField({
		id: 'PhaseField',
		fieldLabel: 'Phase',
		name: 'phasefield'
});

var MSFeld = new Ext.form.DisplayField({
		id: 'MSField',
		fieldLabel: 'Meilenstein',
		name: 'msfield'
});
	
var StatusFeld = new Ext.form.DisplayField({
		id: 'StatusField',
		fieldLabel: 'Gesamtstatus',
		name: 'statusfield'
});
		
var DetailFeld = new Ext.form.DisplayField({
		id: 'DetailField',
		fieldLabel: 'Detailansicht',
		name: 'detailfield'
});

var FSFeld = new Ext.form.DisplayField({
		id: 'Fortschrittsbalken',
		fieldLabel: 'Ausbaufortschritt',
		name: 'fortschrittsbalken'
});

var FSFeld2 = new Ext.form.DisplayField({
		id: 'Fortschrittstext',
		name: 'fortschrittstext'
});

var FSFeld3 = new Ext.form.DisplayField({
		id: 'EndterminField',
		name: 'endterminfield',
		fieldLabel: 'Erschließung',
		helpText: 'Der geplante Termin für die Erschließung des Ortsteiles.'
});

var BieterFeld = new Ext.form.DisplayField({
		id: 'BieterFeld',
		fieldLabel: 'Auftragnehmer',
		name: 'bieterfeld',
		//helpText: 'Für nähere Informationen auf den Anbieter klicken'
		helpText: 'Der für den Ausbau beauftragter Anbieter.'
});

var AllgemeineAngaben1 = new Ext.FormPanel({
		title: 'Allgemeine Angaben',
		method: 'GET',
		frame: true,
		collapsible: true,
		labelWidth: 110,
		waitMsgTarget: true,
		items: [
				PhaseFeld,
				StatusFeld,
				TechnologieFeld2,
				DetailFeld
				]
});

var AllgemeineAngabenPublic = new Ext.FormPanel({
		title: 'Allgemeine Angaben',
		method: 'GET',
		frame: true,
		collapsible: true,
		//hideCollapseTool: true,
		labelWidth: 110,
		waitMsgTarget: true,
		items: [
				TechnologieFeld,
				FSFeld3,
				FSFeld,
				FSFeld2,
				BieterFeld
				]
});

var FehlerMeldungFeld = new Ext.form.DisplayField({
		id: 'FehlermeldungFeld',
		fieldLabel: 'Bitte beachten Sie',
		name: 'fehlermeldungfeld'
});

var FehlerMeldung = new Ext.FormPanel({
		frame: true,
		collapsible: true,
		hideCollapseTool: true,
		collapsed: true,
		labelWidth: 110,
		items: [FehlerMeldungFeld]
});


var SuchMaske = new Ext.form.FieldSet({
		//title: 'Suchmaske',
		autoHeight: true,
		defaultType: 'textfield',
		items:[
				comboLosnummer,	
				comboGemeinde,
				comboOrtsteil,
				comboOrtsteil2
		]
});

var SuchMaskePublic = new Ext.form.FieldSet({
		//title: 'Suchmaske',
		autoHeight: true,
		defaultType: 'textfield',
		items:[
				comboGemeindePublic,
				comboOrtsteilPublic				
		]
});

var fs = new Ext.FormPanel({
	//url: 'submit_form3.php',
	title: 'Ortsteilsuche',
	method: 'GET',
	frame: true,
	labelWidth: 110,
	waitMsgTarget: true,
	items: [comboLosnummer,	
			comboGemeinde,
			comboOrtsteil,
			comboOrtsteil2]
});

var fsPublic = new Ext.FormPanel({
	title: 'Ortsteilsuche',
	method: 'GET',
	frame: true,
	labelWidth: 110,
	waitMsgTarget: true,
	items: [comboGemeindePublic,
			comboOrtsteilPublic	]
});



var gridMilestone = new Ext.grid.GridPanel({
	store: storeVM,
	frame: true,
	autoHeight: true,
	disableSelection: true,
	enableColumnResize: false,
	colModel: new Ext.grid.ColumnModel({
		defaults: {
			autoWidth: true,
			menuDisabled: true,
			autoHeight: true,
			sortable: false
			},
		columns : [
				{
				id: 'VM_ID', 
				header: 'Meilenstein', 
				width: 65, 
				dataIndex: 'VM_ID',
				renderer: renderColumn
				},
				{
				header: 'Status',
				width: 50, 
				dataIndex: 'pic', 
				renderer: renderIcon
				},
				{
				header: 'Info', 
				width: 250, 
				dataIndex: 'VM_Status',
				renderer: renderColumn1
				}
			]
		}),
		viewConfig: {
			forceFit: true
			}
});

/*Phasen*/

var PhaseHeaderFeld = new Ext.form.DisplayField({
		id: 'PhaseHeaderFeld',
		hideLabel: true,
		name: 'phaseheaderfeld'
});

var gridPhase = new Ext.grid.GridPanel({
	store: storePhasen,
	frame: true,
	autoHeight: true,
	disableSelection: true,
	enableColumnResize: false,
	//collapsed: true,
	colModel: new Ext.grid.ColumnModel({
		defaults: {
			autoWidth: true,
			menuDisabled: true,
			autoHeight: true,
			sortable: false
			},
		columns : [
				{
				id: 'ID', 
				header: 'Los-ID', 
				width: 45,				
				dataIndex: 'ID',
				renderer: renderColumn1a
				},
				{
				header: 'Gemeinde',
				width: 125,
				dataIndex: 'Gemeinde', 
				renderer: renderColumn1
				},
				{
				header: 'Ortsteil', 
				width: 190,
				dataIndex: 'Ortsteil',
				renderer: renderColumn1
				}
			]
		}),
		viewConfig: {
			forceFit: true
			}
});

var PhaseHeader = new Ext.FormPanel({
		frame: true,
		collapsible: true,
		hideCollapseTool: true,
		collapsed: true,
		labelWidth: 110,
		items: [PhaseHeaderFeld, gridPhase]
});

/*\Phasen*/

/*Meilensteine Filter*/

var MSHeaderFeld = new Ext.form.DisplayField({
		id: 'MSHeaderFeld',
		hideLabel: true,
		name: 'msheaderfeld'
});

var gridMS = new Ext.grid.GridPanel({
	store: storePhasen,
	frame: true,
	autoHeight: true,
	disableSelection: true,
	enableColumnResize: false,
	//collapsed: true,
	colModel: new Ext.grid.ColumnModel({
		defaults: {
			autoWidth: true,
			menuDisabled: true,
			autoHeight: true,
			sortable: false
			},
		columns : [
				{
				id: 'ID', 
				header: 'Los-ID', 
				width: 45,				
				dataIndex: 'ID',
				renderer: renderColumn1a
				},
				{
				header: 'Gemeinde',
				width: 125,
				dataIndex: 'Gemeinde', 
				renderer: renderColumn1
				},
				{
				header: 'Ortsteil', 
				width: 190,
				dataIndex: 'Ortsteil',
				renderer: renderColumn1
				}
			]
		}),
		viewConfig: {
			forceFit: true
			}
});

var MSHeader = new Ext.FormPanel({
		frame: true,
		collapsible: true,
		hideCollapseTool: true,
		collapsed: true,
		labelWidth: 110,
		items: [MSHeaderFeld, gridMS]
});

/*\MS Filter*/

var DownloadBereich = new Ext.FormPanel({
	method: 'GET',
	frame: true,
	labelWidth: 100,
	waitMsgTarget: true,
	items: [
		new Ext.form.FieldSet({
			title: 'Download Bereich',
			autoHeight: true,
			defaultType: 'textfield',
			items: [
				new Ext.form.DisplayField({
				id: 'DownloadText',
				name: 'downloadtext',
				fieldLabel: 'Fortschrittsbericht'				
				}),
				new Ext.form.DisplayField({
				id: 'DownloadText2',
				name: 'downloadtext2'
				})
			]
		})
	]
});

/*Bandbreitenverteilung*/
var TechnologieGroupRow = [
		{header: 'LTE',
                align: 'center',
                colspan: 1},
		{header: 'Festnetz',
                align: 'center',
                colspan: 4}
	];
var BandbreiteGroupRow = [];

var group = new Ext.ux.grid.ColumnHeaderGroup({
        rows: [TechnologieGroupRow]
    });
    
    
var Bandbreite = new Ext.grid.GridPanel({
        title: 'Voraussichtliche Bandbreitenverteilung',
		frame: true,
        autoWidth: true,
        autoHeight: true,
		collapsible: true,
		collapsed: false,
        store: storeBB,
        columns: [
						{
						id: 'BB_LTE1', 
						header: '2MBit',
						align: 'center',
						width: 25, 
						sortable: false, 
						dataIndex: 'BB_LTE',
						renderer: renderColumn2
						},
						{
						id: 'BB_2MBit1', 
						header: '2MBit', 
						align: 'center',
						width: 25, 
						sortable: false, 
						dataIndex: 'BB_2MBit',
						renderer: renderColumn2
						},
						{
						id: 'BB_16MBit1', 
						header: '16MBit',
						align: 'center',					
						width: 25, 
						sortable: false, 
						dataIndex: 'BB_16MBit',
						renderer: renderColumn2
						},
						{
						id: 'BB_25MBit1', 
						header: '25MBit', 
						align: 'center',
						width: 25, 
						sortable: false, 
						dataIndex: 'BB_25MBit',
						renderer: renderColumn2
						},
						{
						id: 'BB_50MBit1', 
						header: '50MBit', 
						align: 'center',
						width: 25, 
						sortable: false, 
						dataIndex: 'BB_50MBit',
						renderer: renderColumn2
						}
					],
        viewConfig: {
            forceFit: true
        },
        plugins: group
    });
/*\Bandbreitenverteilung*/

var Legende = new Ext.grid.GridPanel({
			title: 'Legende',
			collapsible: true,
			collapsed: false,
			store: storeLegende,
			frame: true,
			autoHeight: true,
			autoWidth: true,
			enableColumnResize: false,
			colModel: new Ext.grid.ColumnModel({
				defaults: {
					autoWidth: true,
					autoHeight: true,
					sortable: true
					},
				columns : [
						{
						id: 'Farbe', 
						header: 'Farbe', 
						width: 25, 
						sortable: true, 
						dataIndex: 'Farbe'						
						},
						{
						id: 'LegendeBedeutung',
						header: 'Bedeutung', 
						width: 100, 
						sortable: true, 
						dataIndex: 'Bedeutung'
						//renderer: renderColumn1
						}
					]
					
				}),
				viewConfig: {
					forceFit: true
					}
});

var AnbieterInfo = new Ext.FormPanel({
	method: 'GET',
	frame: true,
	border: false,
	labelWidth: 140,
	autoHeight: true,
	autoWidth: true,
	waitMsgTarget: true,
	items: [
		new Ext.form.DisplayField({
				id: 'Bietertxt1',
				name: 'bietertxt1',
				fieldLabel: 'Anbieter'				
		}),
		new Ext.form.DisplayField({
				id: 'Bietertxt2',
				name: 'bietertxt2',
				fieldLabel: 'Ansprechpartner'	
		}),
		new Ext.form.DisplayField({
				id: 'Bietertxt3_1',
				name: 'bietertxt3_1',
				fieldLabel: 'Adressdaten'				
		}),
		new Ext.form.DisplayField({
				id: 'Bietertxt3_2',
				name: 'bietertxt3_2'	
		}),
		new Ext.form.DisplayField({
				id: 'Bietertxt4',
				name: 'bietertxt4',
				fieldLabel: 'EMail'				
		}),
		new Ext.form.DisplayField({
				id: 'Bietertxt5',
				name: 'bietertxt5',
				fieldLabel: 'Telefon'	
		}),
		new Ext.form.DisplayField({
				id: 'Bietertxt6',
				name: 'bietertxt6'	
		})
	
	]
});

var AnbieterLogo = new Ext.FormPanel({
            title: '',
            frame: true,
            //autoWidth: true,
			labelWidth: 1,
            autoHeight: true,
			autoWidth: true,
            id: 'panelLogo',
			items: [
				new Ext.form.DisplayField({
						id: 'Bieterlogo',
						name: 'bieterlogo'			
				})
            ]
        });
		
var zurueckHP = new Ext.FormPanel({
		frame: true,
		labelWidth: 110,
		waitMsgTarget: true,
		items: [
				new Ext.form.DisplayField({
					id: 'HPzurueck',
					//value: '<div><a href="http://www.breitband-bautzen.de">Zurück zur Hauptseite</a></div>',
					name: 'hpzurueck'				
				})
		]
});


/*++++++++++++++++++++++++++++++Functions++++++++++++++++++++++++++++++*/				
		
function Fortschrittsbalken(a){
		
		switch(a){
			case 0:
				FSBalken = '<img src='+IMG_Fortschritt0+'>';
				FSText = "Mit den Planungen wurde begonnen";
				break;
			case 1:
				FSBalken = '<img src='+IMG_Fortschritt1+'>';
				FSText = "Mit dem Ausbau wurde begonnen";
				break;
			case 2:
				FSBalken = '<img src='+IMG_Fortschritt2+'>';
				FSText = "Die Infrastruktur wurde errichtet";
				break;
			case 3:
				FSBalken = '<img src='+IMG_Fortschritt3+'>';
				FSText = "Die Breitbanddienste sind verfügbar";
				break;
		}
		
};
		
function get_Bandbreite(a){
	
	if(a.data.LTE == 0){BBLTECmp = '<a href="http://www.breitband-bautzen.de/faq.php#hquest6" title="FAQ: Im Info-Feld der interaktiven Karte wird in der Bandbreitenverteilung 0% angegeben. Gibt es diese Option(en) dann nicht?" target="_blank">'+a.data.LTE+'%</a>';}
	else{BBLTECmp = a.data.LTE+"%";}
	if(a.data.b2MBit == 0){BB2Cmp = '<a href="http://www.breitband-bautzen.de/faq.php#hquest6" title="FAQ: Im Info-Feld der interaktiven Karte wird in der Bandbreitenverteilung 0% angegeben. Gibt es diese Option(en) dann nicht?" target="_blank">'+a.data.b2MBit+'%</a>';}
	else{BB2Cmp = a.data.b2MBit+"%";}
	if(a.data.b16MBit == 0){BB16Cmp = '<a href="http://www.breitband-bautzen.de/faq.php#hquest6" title="FAQ: Im Info-Feld der interaktiven Karte wird in der Bandbreitenverteilung 0% angegeben. Gibt es diese Option(en) dann nicht?" target="_blank">'+a.data.b16MBit+'%</a>';}
	else{BB16Cmp = a.data.b16MBit+"%";}
	if(a.data.b25MBit == 0){BB25Cmp = '<a href="http://www.breitband-bautzen.de/faq.php#hquest6" title="FAQ: Im Info-Feld der interaktiven Karte wird in der Bandbreitenverteilung 0% angegeben. Gibt es diese Option(en) dann nicht?" target="_blank">'+a.data.b25MBit+'%</a>';}
	else{BB25Cmp = a.data.b25MBit+"%";}
	if(a.data.b50MBit == 0){BB50Cmp = '<a href="http://www.breitband-bautzen.de/faq.php#hquest6" title="FAQ: Im Info-Feld der interaktiven Karte wird in der Bandbreitenverteilung 0% angegeben. Gibt es diese Option(en) dann nicht?" target="_blank">'+a.data.b50MBit+'%</a>';}
	else{BB50Cmp = a.data.b50MBit+"%";}
	
	var BBData = [
				[BBLTECmp,BB2Cmp,BB16Cmp,BB25Cmp,BB50Cmp]
				]
	storeBB.loadData(BBData);
	
};

function getDetail(a){
	
	storeDetail.reload({
	params: { ID_Detail: a }
	});
		
};

function getDLText(a, b, c){
	//alert(a+" "+b+" "+c);
	switch(a){
		case 1:
			DLText = '<div align = "center">Der erste Fortschrittsbericht wird mit Abschluss von M1 (in ca. '+ ueberfaellig(b, -1) +' Tagen) verfügbar sein.</div>';
			DLText2 = '';
			break;
		case 2:
			
			switch(c){
				case "1":
					DLText = '<div align = "center"><a href="'+link+'" target="_blank"><img src=./Bilder/pdf-icon.gif></a></div>';
					DLText2 = '<div align= "center"><font size="-2">(zum speichern bitte Rechtsklick <br>und "Ziel speichern unter" wählen)</font></div>';											
					break;
				case "0":
					DLText = '<div align = "center">Ein Fortschrittsbericht ist zur Zeit noch nicht verfügbar.</div>';
					DLText2 = '';
					break;	
			}
			break;
		case 3:
			DLText = '<div align = "center">Aufgrund der Verzögerung von M1 ist noch kein Fortschrittsbericht verfügbar.</div>';
			DLText2 = '';
			break;
	}
	
};

function getFehler(a){
		if(a == null){
			FehlerMeldung.expand();
			AllgemeineAngabenPublic.hide();
			AllgemeineAngaben1.hide();
			Bandbreite.hide();
			DownloadBereich.hide();
			gridMilestone.hide();
			
			Fehlerort = 1;
			Ext.getCmp('FehlermeldungFeld').setValue('Ihr gewählter Ort ist nicht Bestandteil der laufenden Erschließung. Für weitere Informationen klicken Sie Bitte <a href="http://www.breitband-bautzen.de/faq.php#hquest2" target="_blank">hier</a>.');
		}
		else{
			FehlerMeldung.collapse();
			AllgemeineAngabenPublic.show();
			AllgemeineAngaben1.show();
			Bandbreite.show();
			DownloadBereich.show();
			gridMilestone.show();
			
			Fehlerort = 0;
		}
};

function getlogo(a){
	switch(a){
		case "DTAG":
			logo = '<img src='+IMG_Logo_DTAG+'>';
			break;
		case "Duerki":
			logo = '<img src='+IMG_Logo_Duerki+'>';
			break;			
	}
};

function getLosLink(a){
	LosLink = "Los."+a;
	ueberpruefe(LosLink);
};

function getStatus(a,b,c,d,e,f){
	if (a == null){	Status = '99'}
	else{
		if (f == null){
			if(d != null){
				if(e < (Heute.add("d", -1)))
					{Status = '7'}
				else
					{Status = '4'}
			}
			else{
				if(b != null){
					if(c < (Heute.add("d", -1)))
						{Status = '5'}
					else
						{Status = '2'}
				}
				else{
					if(a != null){
						if(c < (Heute.add("d", -1)))
							{Status = '5'}
						else{
							if(a < (Heute.add("d", -1)))
								{Status = '3'}
							else
								{Status = '1'}
						}
					}
					else
						{Status = '0'}
				}
			}
		}
		else
			{Status = '6'}
	}
};

function renderColumn(val){
	{return '<div align="center"><span style="position:relative; top:5px;left:0px"><b>'+val+'</b></span></div>'} //Notlösung
};

function renderColumn1(val){
	{return '<div><span style="position:relative">'+val+'</span></div>'} //Notlösung --> nach relative:   ;top:5px;left:0px 
};

function renderColumn1a(val){
	{return '<div align="center"><span style="position:relative"><b>'+val+'</b></span></div>'} //Notlösung --> nach relative:   ;top:5px;left:0px 
};

function renderColumn2(val){
	{return '<div><span style="position:relative;left:0px;vertical-align:middle;">'+val+'</span></div>'} //Notlösung
};

function renderFortschritt(val){
	{alert(val)}
};

function renderIcon(val){
	{return '<img src="' + val + '">'}
};

function renderIcon2(){
	{return '<div><span style="position:relative"></span></div>'}
};

function renderIconDelay()
{
setTimeout("renderIcon()", 5000);
};

function ueberfaellig(ab, c){
	{return Math.floor(c*(Heute - ab)/86400000)} //Errechnen der Differenztage (immer abgerundet)
};

function ueberpruefe(a){
		link = './Download/'+a+'.pdf';
	
		storeFile.reload({
			params: { php_var : link }
		});	
		
		
};
function VM_Abgeschlossen(a, b){
	{
		VM_Status = 
		"wurde am " +
		a.getDate() + "." 
		+ (a.getMonth() +1) + "." 
		+ a.getFullYear()
		+ " abgeschlossen";
		
		eval("VM"+b+"_Status = VM_Status");
		eval("VM"+b+"_pic = IMG_Status1");
	}
};

function VM_Date(a){
		if (a == null)
		{
			Datum = 'Zur Zeit ist noch kein Termin bekannt.';
		}
		else
		{
			Datum = 'Voraussichtlich am '+
			a.getDate() + "." 
			+ (a.getMonth() +1) + "." 
			+ a.getFullYear();
		}
};

function VM_Geplant(a, b){
	{
		VM_Status = 
		"wird voraussichtlich am " +
		a.getDate() + "." 
		+ (a.getMonth() +1) + "." 
		+ a.getFullYear()
		+ " abgeschlossen";
		
		eval("VM"+b+"_Status = VM_Status");
		eval("VM"+b+"_pic = IMG_Status0");
	}
};

function VM_Verzug(a, b){
	{
		Ueberfaellig = ueberfaellig(a, 1);
		VM_Status = "ist seit " +
		a.getDate() + "." 
		+ (a.getMonth() +1) + "." 
		+ a.getFullYear()
		+ " überfällig! "
		+ "("+Ueberfaellig+" Tage)";
		
		eval("VM"+b+"_Status = VM_Status");
		eval("VM"+b+"_pic = IMG_Status2");
	}
};

/*++++++++++++++++++++++++++++++LISTENER++++++++++++++++++++++++++++++*/

function create_listener(a) {
	var combo1 = Ext.getCmp('combo-OrtsteilPublic');
	var b = combo1.setValue(a);
	listener(combo1, b);
};

function create_listener_public(a) {
	var combo1 = Ext.getCmp('combo-Ortsteil');
	var b = combo1.setValue(a);
	prueflistener = 1;
	listener_OrtsteilPublic(combo1, b);
};

function listener_Darstellung(combo, value){
									//alert(value.data.layer.name);
									/*if (value.data.layer.name == 'nach Technologie'){alert('ja')}
									else{alert('nein')}*/
									switch(value.data.layer.name){
										case 'nach Technologie':
											storeLegende.loadData(LegendeTechData);
											break;
										case 'nach Meilenstein':
											storeLegende.loadData(LegendeData);
											break;	
										case 'nach Fortschritt':
											//alert(Legende.get(LegendeBedeutung);
											storeLegende.loadData(LegendeFSData);
											break;
									}
};

function listener_Phase(combo, value){
									//alert(value.data.Wert); 
									storePhasen.removeAll();
									storePhasen.rejectChanges();
									
									storePhasen.reload({
										params: { Phasen : value.data.Wert }
									});
									
									if(value.data.Wert == 0)
									{
										PhaseHeader.hide();
										AllgemeineAngaben1.show();
										gridMilestone.show();
										Bandbreite.show();
										DownloadBereich.show();
									}
									else
									{
										var Phasennummer = value.data.Wert;
										
										PhaseHeader.expand();
										PhaseHeader.show();
										AllgemeineAngaben1.hide();
										gridMilestone.hide();
										Bandbreite.hide();
										DownloadBereich.hide();
										
										Ext.getCmp('PhaseHeaderFeld').setValue('Liste aller Lose der Phase '+Phasennummer+':');
									}
									
									map.moveTo(new OpenLayers.LonLat(1587716.3, 6666734.6), 0);
									
};

function listener_Milestone(combo, value){
									//alert(value.data.Name); 
									storePhasen.removeAll();
									storePhasen.rejectChanges();
									
									storePhasen.reload({
										params: { MS : value.data.Wert }
									});
									
									if(value.data.Wert == 0)
									{
										MSHeader.hide();
										AllgemeineAngaben1.show();
										gridMilestone.show();
										Bandbreite.show();
										DownloadBereich.show();
									}
									else
									{
										var MSnummer = value.data.Name;
										
										MSHeader.expand();
										MSHeader.show();
										AllgemeineAngaben1.hide();
										gridMilestone.hide();
										Bandbreite.hide();
										DownloadBereich.hide();
										
										Ext.getCmp('MSHeaderFeld').setValue('Liste aller Lose mit '+MSnummer+':');
									}
									
									map.moveTo(new OpenLayers.LonLat(1587716.3, 6666734.6), 0);
									
};

function listener_GemeindePublic(combo, value){
									
									
									//alert(combo.getValue());
									storeLos2.removeAll();
									storeLos2.rejectChanges();
																									
									Ext.getCmp('combo-OrtsteilPublic').setValue('Bitte Ortsteil wählen..');
									Ext.getCmp('combo-Ortsteil').setValue('Bitte Ortsteil wählen..');
									
									Ext.getCmp('combo-Ortsteil').setVisible(false);
									Ext.getCmp('combo-Ortsteil2').setVisible(true);
									
									storeOrtsteilPublic.reload({
									params:	{ GemeindePublic : combo.getValue() }
									});
									
									storeLos2.reload({
									params:	{ GemeindePublic : combo.getValue() }
									});
									
};

function listener_OrtsteilPublic(combo, value){
									
									var kleinerhelfer1 = combo;
									var kleinerhelfer2 = value;
									
									storeAllgemein.reload({
									params: { IDAllgemein : combo.getValue() }
									});
									
									storeBandbreite.reload({
									params: { IDBandbreite: combo.getValue() }
									});
									
									storeGeom.reload({
									params: { ID_Geom: combo.getValue() }
									});
									
									storeMilestone.reload({
									params: { IDVM : combo.getValue() }
									});
									
									storeGeom.on("load", function(s,rs) {
										var GeomArray = new Array();
											storeGeom.each(function(record) {
												x = record.data.X;
												y = record.data.Y;
												Geom_Punkt = record.data.Geom_Punkt;
												GeomArray.push(record.data.Geom);
												
												var zoomLevel = 3;
												var lonlat = new OpenLayers.LonLat(x, y);
												map.moveTo(lonlat, zoomLevel);
												
											});
									});
												
									var GemeindeCmp = Ext.getCmp('combo-GemeindePublic');
									var OrtsteilCmp = Ext.getCmp('combo-OrtsteilPublic');
									var TechCmp = Ext.getCmp('TechField');
									var DetailCmp = Ext.getCmp('DetailField');
									var EndterminCmp = Ext.getCmp('EndterminField');
									var FortschrittsbalkenCmp = Ext.getCmp('Fortschrittsbalken');
									var FortschrittstextCmp = Ext.getCmp('Fortschrittstext');
									var BieterCmp = Ext.getCmp('BieterFeld');
									
									var Bieter1Cmp = Ext.getCmp('Bietertxt1');
									var Bieter2Cmp = Ext.getCmp('Bietertxt2');
									var Bieter3_1Cmp = Ext.getCmp('Bietertxt3_1');
									var Bieter3_2Cmp = Ext.getCmp('Bietertxt3_2');
									var Bieter4Cmp = Ext.getCmp('Bietertxt4');
									var Bieter5Cmp = Ext.getCmp('Bietertxt5');
									var Bieter6Cmp = Ext.getCmp('Bietertxt6');
									var BieterLogoCmp = Ext.getCmp('Bieterlogo');
									
									
									var tmp = 3; //Do-While-Schleife wegen Darstellungsproblem beim ersten laden.
									
												
									storeAllgemein.on("load", function(s,rs) {
										storeAllgemein.each(function(record) {
											
											getFehler(record.data.Technologie);
											
											TechCmp.setValue(record.data.Technologie+' [<a href="http://www.breitband-bautzen.de/faq.php#hquest4" title="FAQ: Was bedeuten die Abkürzungen ADLS, ADSL2+, VDSL und LTE?" target="_blank">'+record.data.Technologie2+'</a>]');
											GemeindeCmp.setValue(record.data.Gemeinde);
											OrtsteilCmp.setValue(record.data.Ortsteil);
											
											Bieter = '<a href="http://www.breitband-bautzen.de/faq.php#hquest7" title="FAQ: In meinem Ort wird nur ein Auftragnehmer aufgeführt. Bedeutet dies, das ich nur bei diesem buchen kann?" target="_blank">'+record.data.Bieter+'</a>';
											BieterCmp.setValue(Bieter);
											Bieter6Cmp.setValue('<a href = "javascript:void(0)" onclick = "lightboxoff()">schließen</a>');
																						
											storeBandbreite.on("load", function(s,rs) {
												storeBandbreite.each(function(record) {
													
													get_Bandbreite(record);
													
													storeMilestone.on("load", function(s,rs) {
													
														storeMilestone.each(function(record) {
															//Formatierung des Datums:
															//alert(record.fields.containsKey('VM1_Soll'));
															//alert(record.data.ID + ' - ' + record.data.Status + ' - ' + record.data.VM1_Soll);
															//alert(Heute);
															
															VM_Date(record.data.VM3_Soll);
															EndterminCmp.setValue(Datum);
																
															
															getStatus(
																record.data.VM1_Soll,
																record.data.VM1_Erfullt,
																record.data.VM2_Soll,
																record.data.VM2_Erfullt,
																record.data.VM3_Soll,
																record.data.VM3_Erfullt);
															
															switch(Status){
																case '0':
																	Fortschrittsbalken(0);
																	break;
																case '1':
																	Fortschrittsbalken(0);
																	break;
																case '2':
																	Fortschrittsbalken(1);
																	break;
																case '3':
																	Fortschrittsbalken(0);
																	break;
																case '4':
																	Fortschrittsbalken(2);
																	break;
																case '5':
																	Fortschrittsbalken(1);
																	break;
																case '6':
																	Fortschrittsbalken(3);
																	break;
																case '7':
																	Fortschrittsbalken(2);
																	break;
															}
															
															Ext.getCmp('Fortschrittsbalken').setValue(FSBalken);
															Ext.getCmp('Fortschrittstext').setValue(FSText);
															
															
														});
													});
												});
											});											
										});
									});
								
	/*							if (kleinerhelfer == 0){
									//alert(kleinerhelfer);
									kleinerhelfer = kleinerhelfer +1;
									listener_OrtsteilPublic(combo, value);
									
								}
*/
};

function listener(combo, value) {
									Bandbreite.show();
									gridMilestone.show(); 
									PhaseHeader.hide();
									DownloadBereich.show();
									
									
									var PhaseCmp = Ext.getCmp('PhaseField');
									var StatusCmp = Ext.getCmp('StatusField');
									var LosCmp = Ext.getCmp('combo-Los');					//<-- Fall Ortsteil-Combo
									var GemeindeCmp = Ext.getCmp('combo-Gemeinde');
									var OrtsteilCmp = Ext.getCmp('combo-Ortsteil');			//<-- Fall Los-Combo
									var Ortsteil2Cmp = Ext.getCmp('combo-Ortsteil2');
									var TechCmp = Ext.getCmp('TechField2');
									var DetailCmp = Ext.getCmp('DetailField');
																		
									storeGeom.reload({
									params: { ID_Geom: combo.getValue() }
									});
									
									storeAllgemein.reload({
									params: { IDAllgemein : combo.getValue() }
									});
									
									storeBandbreite.reload({
									params: { IDBandbreite: combo.getValue() }
									});
								
									storeMilestone.reload({
									params: { IDVM : combo.getValue() }
									});
									
									storeBPruef.reload({
									params: { ID_BPruef : combo.getValue() }
									});
									
									storeGeom.on("load", function(s,rs) {
										var GeomArray = new Array();
											storeGeom.each(function(record) {
												x = record.data.X;
												y = record.data.Y;
												Geom_Punkt = record.data.Geom_Punkt;
												GeomArray.push(record.data.Geom);
												
												var zoomLevel = 3;
												var lonlat = new OpenLayers.LonLat(x, y);
												map.moveTo(lonlat, zoomLevel);
											});
									});
									
							//eintragen der Werte in die Display-Felder: 
							//JSON-Store --> Asynchron, einfache getAt(x) nicht möglich...
									
									OrtsteilCmp.setVisible(true);
									Ortsteil2Cmp.setVisible(false);
									//OrtsteilCmp.setValue(combo.getValue());		//weiß nicht warum, evtl wieder anschalten?!
													
									storeAllgemein.on("load", function(s,rs) {
										//var AllgemeinArray = new Array();
										storeAllgemein.each(function(record) {
											
											getFehler(record.data.Technologie);
											getLosLink(record.data.ID);
											
											if(Fehlerort == 1)
											{
												LosCmp.setValue('-');
											}
											else
											{
												LosCmp.setValue(record.data.ID);					
											}
											
											PhaseCmp.setValue(record.data.Phase);
											GemeindeCmp.setValue(record.data.Gemeinde);
											OrtsteilCmp.setValue(record.data.Ortsteil);			//<-- Fall Los-Combo
											TechCmp.setValue(record.data.Technologie+' [<a href="http://www.breitband-bautzen.de/faq.php#hquest4" target="_blank">'+record.data.Technologie2+'</a>]');
											
											storeBandbreite.on("load", function(s,rs) {
												storeBandbreite.each(function(record) {
													//alert(record.data.b2MBit);
																									
													get_Bandbreite(record);
													
													 storeMilestone.on("load", function(s,rs) {
													//var Milestone_Array = new Array();
														storeMilestone.each(function(record) {
														//Formatierung des Datums:
														//alert(record.fields.containsKey('VM1_Soll'));
														//alert(record.data.ID + ' - ' + record.data.Status + ' - ' + record.data.VM1_Soll);
														//alert(Heute);
														
															getStatus(
																record.data.VM1_Soll,
																record.data.VM1_Erfullt,
																record.data.VM2_Soll,
																record.data.VM2_Erfullt,
																record.data.VM3_Soll,
																record.data.VM3_Erfullt);
															//alert(Status);
															//alert((Heute.add("d", -1)));
															
															switch(Status){
															case '1':
																VM_Geplant(record.data.VM1_Soll, 1); //Meilensteintabelle (VMx-Status)
																VM_Geplant(record.data.VM2_Soll, 2);
																VM_Geplant(record.data.VM3_Soll, 3);
																
																getDLText(1, record.data.VM1_Soll, pruef);
												
																StatusCmp.setValue('Es wurde noch nicht begonnen');
																
																break;
															case '2':
																VM_Abgeschlossen(record.data.VM1_Erfullt, 1);
																VM_Geplant(record.data.VM2_Soll, 2);
																VM_Geplant(record.data.VM3_Soll, 3);
																
																getDLText(2, LosLink, pruef);
																
																StatusCmp.setValue('M1 wurde erfüllt');
																
																break;
															case '3':
																VM_Verzug(record.data.VM1_Soll, 1);
																VM_Geplant(record.data.VM2_Soll, 2);
																VM_Geplant(record.data.VM3_Soll, 3);
																
																getDLText(3, 3, pruef);
																
																StatusCmp.setValue('M1 ist in Verzug');
																
																break;
															case '4':
																
																VM_Abgeschlossen(record.data.VM1_Erfullt, 1);
																VM_Abgeschlossen(record.data.VM2_Erfullt, 2);
																VM_Geplant(record.data.VM3_Soll, 3);
																
																getDLText(2, LosLink, pruef);
																																							
																StatusCmp.setValue('M2 wurde erfüllt');
																
																break;
															case '5':
																if(record.data.VM1_Erfullt == null){
																	VM_Verzug(record.data.VM1_Soll, 1);
																}
																else{
																	VM_Abgeschlossen(record.data.VM1_Erfullt, 1);
																}
																
																VM_Verzug(record.data.VM2_Soll, 2);
																VM_Geplant(record.data.VM3_Soll, 3);
																												
																getDLText(2, LosLink, pruef);
																
																StatusCmp.setValue('M2 ist in Verzug');
																
																break;
															case '6':
																VM_Abgeschlossen(record.data.VM1_Erfullt, 1);
																VM_Abgeschlossen(record.data.VM2_Erfullt, 2);
																VM_Abgeschlossen(record.data.VM3_Erfullt, 3);

																getDLText(2, LosLink, pruef);
																
																StatusCmp.setValue('M3 wurde erfüllt');
																
																break;
															case '7':
																if(record.data.VM1_Erfullt == null){
																	VM_Verzug(record.data.VM1_Soll, 1);
																}
																else{
																	VM_Abgeschlossen(record.data.VM1_Erfullt, 1);
																}
																
																if(record.data.VM2_Erfullt == null){
																	VM_Verzug(record.data.VM2_Soll, 2);
																}
																else{
																	VM_Abgeschlossen(record.data.VM2_Erfullt, 2);
																}
																
																VM_Verzug(record.data.VM3_Soll, 3);

																getDLText(2, LosLink, pruef);
																
																StatusCmp.setValue('M3 ist in Verzug');
																
																break;
															case '99':
																StatusCmp.setValue('Ihr gewählter Ort ist nicht Bestandteil der laufenden Erschließung. Bitte wählen Sie einen anderen.');
																Bandbreite.hide();
																gridMilestone.hide(); 
																PhaseHeader.hide();
																DownloadBereich.hide();
															}
																									
															//2. MeilensteinStore (VMStore) mit Daten füttern.
															 var VMData = [
																			['M1',VM1_pic,VM1_Status],
																			['M2',VM2_pic,VM2_Status],
																			['M3',VM3_pic,VM3_Status]
																		  ]
															
															storeVM.loadData(VMData);
															
															//Download-Bereich füllen
															
															Ext.getCmp('DownloadText').setValue(DLText);
															Ext.getCmp('DownloadText2').setValue(DLText2);
												
														});
													});
												});	
											});
										});
									});
									
									storeBPruef.on("load", function(s,rs) {
										//var FileArray = new Array();
										storeBPruef.each(function(record) {
											
											if(record.data.Bildverweis > 0){
												DetailCmp.setValue('<div align = "left"><a href="map3.php?id='+record.data.ID+'" target="_blank">zur Detailansicht</a></div>');
											}
											else{
												DetailCmp.setValue('Keine Detailansicht verfügbar');
											}
										});														// bitte überprüfen
									});
																	
									storeFile.on("load", function(s,rs) {
										//var FileArray = new Array();
										storeFile.each(function(record) {
											
											pruef = record.data.proof;
											
										});														// bitte überprüfen
									});
		
									
};
/*
function showPrivacyStatement() {
	if (typeof map == "undefined") {
		Ext.Msg.alert('Hinweis', 'Sie finden die Datenschutzbestimmungen direkt links neben dem Formular.');
	} else {
		privacy_popup = new GeoExt.Popup({
			title: 'Datenschutzbestimmungen',
			map: map,
			lonlat: map.getCenter(),
			unpinnable: false,
			width: 350,
			html: 'Mit dem Ausfüllen des Online-Fragebogens erklären Sie, dass sich die Dateneingabe auf Gewerbe bezieht und Ihre Daten in der Breitband-Landkarte veröffentlicht und angezeigt werden dürfen. Ihre persönlichen Angaben wie E-Mail-Adresse und Unternehmensbezeichnung werden nicht in der Breitband-Landkarte veröffentlicht und nicht an Dritte weitergeben. Die erhobenen Daten werden gegenüber der WRM vermittelt um eine Bedarfsanalyse des Standortes surchzuführen.',
			autoScroll: true,
			bodyStyle: 'padding:5px',
			collapsible: false
		});
		privacy_popup.show();
	}
};*/
