//Event an Checkbox binden
$(document).ready(function() {
	$('input[name="FK_THEMA"]').bind('checkBoxchange', function(e, ui)
	{ //checked or unchecked || $(this).is(':checked') === ui.checked
		if ($(this).attr("status")=="checkThema")
		checkThema($(this));
	});
});

//NPHT Teil
var globCounterThemen=0;
function checkThema(el)
{
	if (el.attr("checked")==true)
	globCounterThemen++;
	else
	globCounterThemen--;

	if (globCounterThemen==0)
	{ //div sichtbar machen
	$("#70322614668653488").css("display", "block");
	}
	else
	{ //div unsichtbar machen
	$("#70322614668653488").css("display", "none");
	}
}


//Allgemeiner Teil
function checkSubmit()
{
  //DB_ZUSATZ prüfen
  if ($("#DB_ZUSATZ").val().length > 1999)
  	$("#DB_ZUSATZ").attr("value",$("#DB_ZUSATZ").val().substring(0, 1999));

  //DB_ANREDE, unterkunftsart, orgListe prüfen
  var boolAnrede=false;
  var boolUnterkunftsart=false;
  var boolOrganisation=false;

  $("#secure1").attr("value",$("#reloadToken").val());

  $("input:checked").each(
  function() {
    if($(this).attr("name")=="DB_ANREDE")
    {
    	if($(this).val()!="" && $(this).val().length>0)
    		boolAnrede=true;
    }
    if ($(this).attr("name")=="orgListe")
    boolOrganisation=true;
    if ($(this).attr("name")=="unterkunftsart")
    boolUnterkunftsart=true;
  });
  if ($('#orgListe').val()!=null)
  {
  	boolOrganisation=true;
  }
  if (!boolAnrede)
  {
    $("#DB_ANREDE").focus();
    return false;
  }
  if (!boolOrganisation)
  {

    alert("Bitte wählen Sie eine Region/Urlaubsort");
    return false;
  }
  if (!boolUnterkunftsart)
  {
    alert("Bitte wählen Sie eine Unterkunftsart");
    return false;
  }

  //DB_Nachname prüfen
  if (!$("#DB_NACHNAME").val().match(/[\w]{3,}/))
  {
    $("#DB_NACHNAME").focus();
    alert("Bitte geben Sie Ihren Nachnamen ein");
    return false;
  }

  var arrLabelFor = getLabelNames($('#antwortliste').val());
  var Emailfilter  = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})$/;

  for (var i=0; i<arrLabelFor.length; i++)
  {
	var FeldName = arrLabelFor[i];
	var FeldWert = $("#"+FeldName).val();
	if (FeldName=='DB_EMAIL' && (!Emailfilter.test(FeldWert) || FeldWert==""))
	{
	 $("#"+FeldName).focus();
	 alert("Bitte geben Sie Ihre korrekte Emailadresse ein");
	 return false;
	}
	else if (!FeldWert.match(/[\w]{4,}/))
	{
	  $("#"+FeldName).focus();
	  AusgabeName=FeldName.replace(/DB_/,"");
	  alert("Bitte geben Sie einen Wert in das Feld "+AusgabeName+" ein.");
	  return false;
    }
  }

  //Alle Checkboxen wieder aktivieren, damit ihr value auch wieder ans Servlet übertragen wird
  //Consolidate Variable toAdressDB auf false setzen falls nötig
  var NPHTPool=false;
  $("input:checkbox").each(function() {
  	if ($(this).is(":disabled"))
  		$(this).attr("disabled",false);

  	if ($(this).is(":checked") && $(this).attr("group") && $(this).attr("group")=="71411057226165013")
  		NPHTPool=true;
  });
  //toAdressDB auf false setzen
  if ($("#thistemplate") && $("#thistemplate").attr("value") == "/Eingabeseiten/NPHT_Lieser_Maltatal/Anfrageassistent.wm")
  {
    if (!NPHTPool)
	$("#ToAdressDB").attr("value","false");
  }



  //Speziallösung NPHT_Lieser_Maltatal
  //if $('#checkbox_id:checked').val()
  $("input:checked").each(
  function() {
  if ($(this).attr("name")=="Anreise")
	checkAnreise($(this).attr("id"));
  });

  $('#DB_ZUSATZ').attr("value",trim($('#DB_ZUSATZ').val()));

  $("#submitbutton").attr("disabled","disabled");
  return true;
}
//Speziallösung NPHT_Lieser_Maltatal
function checkAnreise(elID)
{
	if ($('#'+elID+':checked').val())
	{
		var ZusatzText="";
		if (elID=="Anreise1")
		ZusatzText = "* Bahnhof Shuttle vom IC und EC Bahnhof Mallnitz-Obervellach\n";
		else if (elID=="Anreise2")
		ZusatzText = "* Airport Shuttle von den internationalen Flughäfen Klagenfurt und Salzburg\n";
		else if (elID=="Anreise3")
		ZusatzText = "* RIT-Ticket (Mallnitz) (bis zu 50% Ermäßigung auf das Deutsche Bahn-Ticket)\n";
		else if (elID=="Anreise4")
		ZusatzText = "* RIT-Ticket (Spittal) (bis zu 50% Ermäßigung auf das Deutsche Bahn-Ticket)\n";
		else
		ZusatzText = "undefined";
		$('#DB_ZUSATZ').attr("value",ZusatzText+$('#DB_ZUSATZ').val());
	}
}
//Java Trim()
function trim (zeichenkette) {
  // Erst führende, dann Abschließende Whitespaces entfernen
  // und das Ergebnis dieser Operationen zurückliefern
  return zeichenkette.replace (/^\s+/, '').replace (/\s+$/, '');
}

function FirstToUpper(elname)
 {
  var el = $("#"+elname);
  var value = el.val();

  var strFirstLetter = value.substring(0,1);
  var strNextLetters = value.substring(1,value.length);

  strFirstLetter = strFirstLetter.toUpperCase();

  value = strFirstLetter + strNextLetters;
  el.attr("value",value);

  return true;
 }

function checkVonDatum()
{
	var jetzt = new Date();
	var morgenOhneStunden = new Date(jetzt.getFullYear(),jetzt.getMonth(), jetzt.getDate()+1);
	//Anfrage darf nicht am gleichen Tag sein - Muss mindestens 1 Tag in der Zukunft liegen
	var DatumVon = StringToDate($("#DB_VONDATUM").val());

	if (DatumVon==null||(DatumVon.getTime()<morgenOhneStunden.getTime()))
	{
		//Datum ungültig -> DatumVon auf Morgen setzen
		setDatum("#DB_VONDATUM",morgenOhneStunden);
	}
}

function checkBisDatum(changed)
{
	var DatumVon = StringToDate($("#DB_VONDATUM").val());
	var DatumBis = StringToDate($("#DB_BISDATUM").val());

	if (DatumBis!=null&&changed!=null)
	{
		//Datum gültig - TagZahl ersetzen
		var tagzahl = (DatumBis.getTime()-DatumVon.getTime())/(1000*24*60*60);

		$("#tagzahl").attr("value",tagzahl);
		checkTagZahl();
	}
	var tagzahl = $("#tagzahl").val();
	DatumBis = new Date(DatumVon.getFullYear(),DatumVon.getMonth(),Number(DatumVon.getDate())+Number(tagzahl));
	setDatum("#DB_BISDATUM",DatumBis);
}

function checkTagZahl()
{
	var tagzahl = $("#tagzahl").val();
	if (tagzahl<1||isNaN(tagzahl))
		$("#tagzahl").attr("value","1");
	if (tagzahl>60)
		$("#tagzahl").attr("value","60");
}

function setDatum(feldname, datum)
{
	var strDate = datum.getDate();
	if (strDate < 10)
	strDate = "0"+strDate;

	var strMonth = datum.getMonth()+1;
	if (strMonth < 10)
	strMonth = "0"+strMonth;

	strAusgabe = strDate+"."+strMonth+"."+datum.getFullYear();
	$(feldname).attr("value", strAusgabe);
}

//Funktion erwartet ein Datum im Format dd.mm.yyyy und gibt eine Variable Date zurück
function StringToDate(strDate)
{
	var dBuffer = null;
	try
	{
		var datepart = strDate.split(".");
		dBuffer = new Date(datepart[2],datepart[1]-1,datepart[0]);

		if (isNaN(dBuffer.getDate()))
			dBuffer = null;
	}
	catch (e)
	{
		dBuffer = null;
	}
	return dBuffer;
}

//Pflichtfelder Manipulation
function changeAntwortliste()
{
	var arrLabelFor = getLabelNames($('#antwortliste').val());
	removeAllStarsFromLabel();
	addStarToLabel(arrLabelFor);
}
//Pflichtfelder Manipulation
function getLabelNames(AntwortOid)
{
	//Alle LabelFor Elemente werden im Array gespeichert
	var arrLabel = new Array();
	var iCounter = 0;
	
	//email
	arrLabel[iCounter]="DB_EMAIL";
	iCounter++;
	//alert("Counter: "+iCounter+" for DB_EMAIL");
	if (AntwortOid=='70799573337403510'||AntwortOid=='all')
	{
		//fax
		arrLabel[iCounter]="DB_FAX";
		iCounter++;
	}
	if (AntwortOid=='70799575250006135'||AntwortOid=='all')
	{
		//telefon
		arrLabel[iCounter]="DB_TELEFON";
		iCounter++;
	}
	if (AntwortOid=='70799577263272056'||AntwortOid=='all')
	{
		//Post
		arrLabel[iCounter]="DB_PLZ";
		iCounter++;
		arrLabel[iCounter]="DB_STRASSE";
		iCounter++;
	}
	return arrLabel;
}
//Pflichtfelder Manipulation
function addStarToLabel(arrLabelFor)
{
	for (var i=0; i<arrLabelFor.length; i++)
	{
		var el = $('label[for='+arrLabelFor[i]+']');
		var LabelText = el.attr('innerHTML');
		el.attr('innerHTML',"*"+LabelText);
	}

}
//Pflichtfelder Manipulation
function removeAllStarsFromLabel()
{
	var arrLabelFor = getLabelNames('all');
	for (var i=0; i<arrLabelFor.length; i++)
	{
		var el = $('label[for='+arrLabelFor[i]+']');
		var LabelText = el.attr('innerHTML');
		LabelText = LabelText.replace(/\*/,"");
		el.attr('innerHTML',LabelText);
	}
}
//Telefon Fax Manipulation
function checkTel(elName)
{
	var Text = $("#"+elName).val();
	var TextNeu = "";
	Text = Text.replace(/.*\+/,"00");
	for (var i=0; i<Text.length; i++)
	{
		if (Text.substring(i,i+1).search(/\d/)>-1)
		TextNeu+=Text.substring(i,i+1);
	}

	$("#"+elName).attr("value",TextNeu);
}
