// JavaScript Document

var NewDosiVal = 60;
var bDigit = false;  //Wird gerade ein Polygon Digitalisiert
var bEdit = false;  //befinde ich mich im Digitalisiermodus?
DemoModus = true;
bSaved = true;

//ae:\u00e4 oe:\u00f6 ue:\u00fc sz:\u00df Euro:\u20AC  UTF zeichen
//\u00dc, "&Uuml;", \u00d6, "&Ouml;", \u00c4, "&Auml;"
function DemoEditting()
{
	if(bEdit == false)
	{
		g_DoMa.StartSelection();
		bEdit = true;
		bDigit = false;
		bSaved = false;
		DemoResetButtons();
		if(!g_map.draggingEnabled())
		{
			MapMoveOnOut();
		}
	}
	else
	{
		g_DoMa.ClearHandles();
		bEdit = false;
		DemoResetButtons();
		if(!g_map.draggingEnabled())
		{
			MapMoveOnOut();
		}
	}
}

function DemoAbb()
{
	if(bDigit)
	{
		//letztes Polygon loeschen
		g_DoMa.DeleteLast();
		DemoNewPoly();
	}
}

function DemoNewPoly()
{
	if(!bDigit)// && !bEdit)
	{
		bEdit = false;
		bDigit = true;
		DemoResetButtons();
		g_DoMa.DigiNewPoly(NewDosiVal);
		if(g_map.draggingEnabled())
		{
			MapMoveOnOut();
		}
	}
	else
	{
		g_DoMa.CheckLast();
		g_DoMa.ClearHandles();
		bEdit = false;
		bDigit = false;
		bSaved = false;
		DemoResetButtons();
		g_DoMa.NewText();
		if(!g_map.draggingEnabled())
		{
			MapMoveOnOut();
		}
		CalcDuengerSparer();
	}
}

function DemoChangeDosi()
{
	if(NewDosiVal != null)
	{
		var icount = g_DoMa.getSelectedCount();
		if(icount <= 0)
		{
			alert(unescape("Es sind keine Dosierfl\u00e4chen markiert."));
		}
		else
		{
			g_DoMa.ChangeDosiSel(NewDosiVal);
			g_DoMa.NewText();
			CalcDuengerSparer();
		}
	}
	else
	{
		alert("W\u00e4hlen Sie bitte einen Dosierwert aus.");
	}
}

function DemoSearch()
{
	var ElmGoto = document.getElementById("GoTo");
	GetLatlngfromAdress(ElmGoto.value);
}

function GetLatlngfromAdress(address)
{
	Geocoder = new GClientGeocoder();
	Geocoder.getLatLng(address, ZoomtoAddress)
}

function ZoomtoAddress(latlng)
{
	if(latlng)
	{
		g_map.setZoom(15);
		g_map.panTo(latlng);
	}
	else
	{
		alert("Adresse wurde nicht gefunden.");
	}
}

function DemoResetButtons()
{
	var ButtonSel = document.getElementById("SelBt");
	var ButtonDel = document.getElementById("DelBt");
	
	if(bEdit && (ButtonSel != null))
	{
		//Karte wurde auf bewegbar gesellt
		ButtonSel.value = unescape("Edit Ende");
		if(ButtonDel != null)
		{
			ButtonDel.disabled = false;
		}
	}
	else if(ButtonSel != null)
	{
		//
		//ButtonSel.name = unescape("Fl\u00e4chen \u00e4ndern");
		ButtonSel.value = unescape("Edit Modus");
		if(ButtonDel != null)
		{
			ButtonDel.disabled = true;
		}
	}
	if(bDigit)
	{
		var ButtonNewPol = document.getElementById("NewPoly");
		if(ButtonNewPol != null)
		{
			ButtonNewPol.name = "Fl\u00e4che abschliessen";
			ButtonNewPol.value = "Fl\u00e4che abschliessen";
			ButtonNewPol.style.color = "#FF0000";
		}
		//replaceText(ButtonNewPol, "Fl\u00e4che abschliessen");
		//Abbrechen Button
		var ButtonAbb = document.getElementById("Abbourt");
		if(ButtonAbb != null)
		{
			ButtonAbb.disabled = false;
			ButtonSel.disabled = true;
		}
		var ButtonZoom = document.getElementById("ZoomBt");
		if(ButtonZoom != null)
		{
			ButtonZoom.disabled = true;
		}
	}
	else
	{
		var ButtonNewPol = document.getElementById("NewPoly");
		if(ButtonNewPol != null)
		{
			ButtonNewPol.name = unescape("Neue Dosierfl\u00e4che "+NewDosiVal+" %");
			ButtonNewPol.value = unescape("Neue Dosierfl\u00e4che "+NewDosiVal+" %");
			ButtonNewPol.style.color = "#0000FF";
		}
		//Abbrechen Button
		var ButtonAbb = document.getElementById("Abbourt");
		if(ButtonAbb != null)
		{
			ButtonAbb.disabled = true;
			ButtonSel.disabled = false;
		}
		var ButtonZoom = document.getElementById("ZoomBt");
		if(ButtonZoom != null)
		{
			ButtonZoom.disabled = false;
		}
	}
	if(bSaved)
	{
		var ButtonBack = document.getElementById("Back");
		if(ButtonBack != null)
		{
			ButtonBack.value = unescape("Map beenden");
		}
		var ButtonSave = document.getElementById("Save");
		if(ButtonSave != null)
		{
			ButtonSave.className = "Stil1";
			ButtonSave.style.color = "#000000";
			ButtonSave.disabled = true;
		}
	}
	else
	{
		var ButtonBack = document.getElementById("Back");
		if(ButtonBack != null)
		{
			ButtonBack.value = unescape("Map abbrechen");
		}
		var ButtonSave = document.getElementById("Save");
		if(ButtonSave != null)
		{
			ButtonSave.className = "Stil45";
			ButtonSave.style.color = "#0000FF";
			ButtonSave.disabled = false;
		}
	}
	if(BackURI == "")
	{
		var ButtonBack = document.getElementById("Back");
		if(ButtonBack != null)
		{
			ButtonBack.disabled = true;
		}
		var ButtonSave = document.getElementById("Save");
		if(ButtonSave != null)
		{
			ButtonSave.style.color = "#000000";
			ButtonSave.disabled = true;
		}
	}
}
//Zoomend zu markierten Flaechen oder zu allen
function OnBtZoom()
{
	if(g_DoMa.getPolyCount() != 0)
	{
		g_DoMa.Zoom();
	}
}
//loescht alle markierten Flaechern
function OnBtDelete()
{
	if(g_DoMa.getSelectedCount() != 0)
	{
		g_DoMa.DelSelected();
		g_DoMa.NewText();
	}
}

function DemoSetDosiAllg()
{
	if(bEdit && g_DoMa.getSelectedCount() != 0)
	{
		DemoChangeDosi();
	}
	else if(bDigit)
	{
		DemoNewPoly();
		DemoNewPoly();
	}
	else if(g_DoMa.getSelectedCount() == 0)
	{
		DemoNewPoly();
		DemoNewPoly();
	}
	DemoResetButtons();
}

//Speichern
function OnBtSave()
{
	if(BackURI != "")
	{
		bSaved = g_DoMa.CheckModified();
		if(bSaved)
		{
			if(bDigit)
			{
				DemoNewPoly();
			}
			if(bEdit)
			{
				DemoEditting();
			}
			bSaved = true;
			DemoResetButtons();
		}
	}
	else
	{
		alert("Sie haben keine Berechtigung \u00c4nderungen zu speichern!");
	}
}
//Zurueck zur Schlagkartei
function OnBtBack()
{
	if(BackURI != "")
	{
		window.location.href = BackURI;
	}
}

function SetBetriebHa(Ha)
{
	var ElmBetrFl = document.getElementById("BetrFl");
	ElmBetrFl.value = Ha;
}

function DemoSetDosi0()
{
	NewDosiVal = 0;
	DemoSetDosiAllg();
}

function DemoSetDosi10()
{
	NewDosiVal = 10;
	DemoSetDosiAllg();
}

function DemoSetDosi20()
{
	NewDosiVal = 20;
	DemoSetDosiAllg();
}

function DemoSetDosi30()
{
	NewDosiVal = 30;
	DemoSetDosiAllg();
}

function DemoSetDosi40()
{
	NewDosiVal = 40;
	DemoSetDosiAllg();
}

function DemoSetDosi50()
{
	NewDosiVal = 50;
	DemoSetDosiAllg();
}

function DemoSetDosi60()
{
	NewDosiVal = 60;
	DemoSetDosiAllg();
}

function DemoSetDosi70()
{
	NewDosiVal = 70;
	DemoSetDosiAllg();
}

function DemoSetDosi80()
{
	NewDosiVal = 80;
	DemoSetDosiAllg();
}

function DemoSetDosi90()
{
	NewDosiVal = 90;
	DemoSetDosiAllg();
}

function DemoSetDosi110()
{
	NewDosiVal = 110;
	DemoSetDosiAllg();
}

function DemoSetDosi120()
{
	NewDosiVal = 120;
	DemoSetDosiAllg();
}

function DemoSetDosi130()
{
	NewDosiVal = 130;
	DemoSetDosiAllg();
}

function DemoSetDosi140()
{
	NewDosiVal = 140;
	DemoSetDosiAllg();
}

function DemoSetDosi150()
{
	NewDosiVal = 150;
	DemoSetDosiAllg();
}

function DemoSetDosi160()
{
	NewDosiVal = 160;
	DemoSetDosiAllg();
}

function DemoSetDosi170()
{
	NewDosiVal = 170;
	DemoSetDosiAllg();
}

function DemoSetDosi180()
{
	NewDosiVal = 180;
	DemoSetDosiAllg();
}

function DemoSetDosi190()
{
	NewDosiVal = 190;
	DemoSetDosiAllg();
}

function DemoSetDosi200()
{
	NewDosiVal = 200;
	DemoSetDosiAllg();
}

function CalcDuengerSparer()
{
	var ElmBetrFl = document.getElementById("BetrFl");
	var BetArea = parseFloat(ElmBetrFl.value);
	var ElmDungCost = document.getElementById("DungCost");
	var CostHa = parseFloat(ElmDungCost.value);
	var DosiArea = g_DoMa.TotalDosiArea();
	DosiArea = Math.round(DosiArea*10.0)/10.0;
	var ElmBetrFl = document.getElementById("BetrFl");
	var NormalCosts = BetArea*CostHa;
	
	var EinSpar = g_DoMa.GetEinSpar(CostHa);
	
	EinSpar = -1.0*Math.round(EinSpar*100.0)/100.0;
	NormalCosts = Math.round(NormalCosts*100.0)/100.0;
	var DosierF = document.getElementById("dosiFlaeche");
	replaceText(DosierF, DosiArea+" ha");
	
	var VorteilEl = document.getElementById("Vorteil");
	if(CostHa>0)
	{
		EinSpar = Math.round(EinSpar);
		replaceText(VorteilEl, EinSpar+" \u20AC");
		if(EinSpar>=0)
		{
			VorteilEl.className = "Stil5";
		}
		else if(EinSpar<0)
		{
			VorteilEl.className = "Stil5red";
		}
	}
	else
	{
		replaceText(VorteilEl, 0+".- \u20AC");
		VorteilEl.className = "Stil5";
	}
	
	var SpareffektEl = document.getElementById("Spareffekt");
	if(NormalCosts != 0 && BetArea>0 && CostHa>0)
	{
		var prozent = EinSpar/NormalCosts*100.0;
		
		prozent = Math.round(prozent*10.0)/10.0;
		
		replaceText(SpareffektEl, prozent+" %");
		if(prozent>=0)
		{
			SpareffektEl.className = "Stil5";
		}
		else if(prozent<0)
		{
			SpareffektEl.className = "Stil5red";
		}
	}
	else
	{
		replaceText(SpareffektEl, 0+" %");
		SpareffektEl.className = "Stil5";
	}
}
