var txtSelectCar = 'Bitte w\u00E4hlen Sie ein Fahrzeug aus!';
var txtSelectPeriodeOrRange = 'Bitte w\u00E4hlen Sie einen Monat aus oder geben Sie einen Zeitraum an!'
var txtPrintRangeChanged = 'Die Einstellungen f\u00FCr den Ausdruck wurden ver\u00E4ndert. Soll die Seite vor dem Drucken neu geladen werden?';
var txtPrintSelectionMissing = 'Bitte geben Sie an, ob Sie alle Seiten anzeigen wollen oder nur bestimmte Seiten!'
var txtStartTimeError = "Fehler im Startdatum der Zeitraumangabe, bitte pr\u00FCfen Sie Ihre Eingabe!"
var txtEndTimeError = "Fehler im Enddatum der Zeitraumangabe, bitte pr\u00FCfen Sie Ihre Eingabe!"

var arrKlartext = new Array(); 
arrKlartext["PoolID"] = "Bitte w\u00E4hlen sie den Pool aus!";
arrKlartext["PoolProcessUser"] = "Bitte geben Sie den Nutzer aus!";
arrKlartext["ScheduleStartFormatted"] = "Bitte geben Sie den Ausleihzeitpunkt an!";
arrKlartext["ScheduleEndFormatted"] = "Bitte geben Sie den R\u00FCckgabezeitpunkt an!";
arrKlartext["StartLocationID"] = "Bitte w\u00E4hlen Sie den Ausgabeort aus!";
arrKlartext["ReturnLocationID"] = "Bitte w\u00E4hlen Sie den R\u00FCckgabeort aus!";
arrKlartext["CarTypeDD"] = "Bitte w\u00E4hlen Sie den Fahrzeugtyp aus!";
arrKlartext["PoolProcessStatusDD"] = "Bitte geben Sie den Status an!";
arrKlartext["CarID"] = "Bitte w\u00E4hlen Sie ein Fahrzeug aus!";
arrKlartext["PoolProcessController"] = "Bitte geben Sie den Disponenten an!";
arrKlartext["UsageStartFormatted"] = "Bitte geben Sie den Nutzungsbeginn an!";
arrKlartext["UsageEndFormatted"] = "Bitte geben Sie das Nutzungsende an!";
arrKlartext["PoolProcessOrderer"] = "Bitte geben Sie den Besteller an!";
arrKlartext["PoolProcessNumber"] = "Bitte geben Sie die Bestellnummer an!";

var arrErrText = new Array();
arrErrText["PwdFailed"]        = "Die Eingabe des neuen Passworts stimmt nicht mit der Wiederholung \u00FCberein, bitte pr\u00FCfen Sie Ihre Eingabe!";
arrErrText["PwdZeroLen"]       = "Es wurde kein neues Passwort eingegeben!";
arrErrText["PwdRepeatZeroLen"] = "Das neue Passwort wurde nicht wiederholt eingegeben!";
arrErrText["PwdOldZeroLen"]    = "Ihr aktuelles Passwort wurde nicht angegeben!";

var msClientID='';
var msWebPageRoot='';

function getObj1(name) 
{	
	var NS  = (document.layers) ? 1:0;
	var IE  = (document.all) ? 1:0;
	var DOM = (document.getElementById) ? 1:0;

	if (IE && document.all[name])  
	{
		return document.all.item(name);
	} 

	if (DOM && document.getElementById(eval("'"+name+"'"))) 
	{
		return document.getElementById(name);
	}  
	if (NS && document.layers[name]) 
	{
		return document.layers[name];
	}
	return 0;

}

function getObj(n, d) { //v4.01
  var p,i,x;  
	if(!d) d=document; 
	if((p=n.indexOf("?"))>0&&parent.frames.length) 
		{
    		d=parent.frames[n.substring(p+1)].document; 
		n=n.substring(0,p);
		}
  	if(!(x=d[n])&&d.all) 
		x=d.all[n]; 

	for (i=0;!x&&i<d.forms.length;i++) 
		x=d.forms[i][n];

	for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
		x=getObj(n,d.layers[i].document);
  
	if(!x && d.getElementById) 
		x=d.getElementById(n); 

	return x;
}


function gOpenWindow(sURL,sName,bNotResizable,sWindowFeatures)
{
	var sArgs;

	if (sWindowFeatures+'' == 'undefined')
		{
		sWindowFeatures = "";	
		}
	else
		{		
		if ( sWindowFeatures.charAt(sWindowFeatures.length-1)!=',')
			sWindowFeatures = sWindowFeatures + ",";	
		}
		
	if (bNotResizable)
		sWindowFeatures = sWindowFeatures + 'status=no';
	else
		sWindowFeatures = sWindowFeatures + 'resizable=yes,status=yes';
		
	if (window.parent)
		oNew = window.parent.open(sURL,sName,sWindowFeatures);
	else
		oNew = window.open(sURL,sName,sWindowFeatures);
}

function gCloseWindow(sReturn)
{
	window.returnValue = sReturn
	window.close();
}

function gsShowModalDialog(sURL,vntParams,bResizable)
{
	var sWindowFeatures='';
	
	if (bResizable)
		sWindowFeatures = sWindowFeatures + 'resizable=yes;';
		


	return(window.showModalDialog(sURL,vntParams,sWindowFeatures));
}


function gsCallServerMethod(sURL,sParams,lFlags)
{
	var IE  = (document.all) ? 1:0;
	var oSMthHttp;
	var sResponse;	
	
	if (IE && document.all)  
	{
		oSMthHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		oSMthHttp = new XMLHttpRequest();
	}
	if (sParams>'' && sParams!='undefined')
	{
		oSMthHttp.open('POST',sURL,false);
		oSMthHttp.send(sXml);
	}
	else
	{
		oSMthHttp.open('GET',sURL,false);
		oSMthHttp.send(null);
	}	
	sResponse= oSMthHttp.responseText;
	oSMthHttp = null;
	return(sResponse);
}


function gSetImage(sImgageName,sImagePath)
{
		var oImg;
		oImg = getObj(sImgageName)

		if (!oImg) return;
		oImg.src = sImagePath;
		
}

function CheckDate( feld, feldname ) {
	return CheckDatum( feld, feldname );
}

function CheckDatum( feld, feldname )
{
  laenge = feld.value.length;
  if (laenge)
  {

    firstdot  = feld.value.indexOf('.',0)
    lastdot   = feld.value.lastIndexOf('.',laenge)

    if (( firstdot == lastdot  ) |
        ( firstdot == 0        ) |
        ( lastdot  == 0        ) |
        ( firstdot < 1         ) |
        ( lastdot  > laenge -1 ) |
        ( firstdot > lastdot-2 ))
    {
      alert('Bitte Datum im Format "tt.mm.jjjj" eingeben.'); feld.focus(); return false;
    }

    tag   = feld.value.substring(0, firstdot)
    monat = feld.value.substring(firstdot+1,lastdot)
    jahr  = feld.value.substring(lastdot+1, laenge)

    if (isNaN(tag))   {alert('Der Tag muss eine Zahl sein.');   feld.focus(); return (false)} else {tag   = parseFloat(tag)}
    if (isNaN(monat)) {alert('Der Monat muss eine Zahl sein.'); feld.focus(); return (false)} else {monat = parseFloat(monat)}
    if (!(jahr.length==4)) {alert('Das Jahr muss eine Laenge von vier Zeichen haben.'); feld.focus(); return (false)}
    if (isNaN(jahr))  {alert('Das Jahr muss eine Zahl sein.');  feld.focus(); return (false)} else {jahr  = parseFloat(jahr)}

    if ((monat<1)   | (monat>12))  {alert('Der Monat muss ein Wert von 1 bis 12 sein.');feld.focus(); return false} 
    if ((jahr<1900) | (jahr>3000)) {alert('Das Jahr muss ein Wert von 1900 bis 3000 sein.');feld.focus(); return false}

    if ((monat==1)|(monat==3)|(monat==5)|(monat==7)|(monat==8)|(monat==10)|(monat==12))
    {Tage=31;}
    else
    {
      if (!(monat==2))
      {Tage=30;}
      else
      {
        if (( jahr%4 == 0 ) & ( !( jahr%100 == 0 ) | ( jahr%400 == 0)))
        {Tage=29;} 
        else 
        {Tage=28;}
      }
    }

    if ((tag<1) | (tag>Tage)) {alert('Der Tag muss ein Wert von 1 bis '+Tage+' sein.'); feld.focus(); return false} 
    else {;}

  }
  return true 
}

function CheckZeit( feld, feldname )
{
  laenge = feld.value.length;
  if (laenge) {
    var strText = ''
    //  var reg = /^\d\d:\d\d$/; 
    var reg = /^(([0|1][0-9])|(2[0-3])):([0-5][0-9])$/; 
    if (!reg.test(feld.value))
    {
      strText = 'Bitte geben Sie den Wert im Feld "' + feldname + '" im Format hh:mm ein.\n'
    } 
    
    if (strText.length != 0)
    {
      alert(strText)
      feld.focus()
      return(false);
    }
    else{
      return true 
    }
  }

}

function CheckDateTime( feld, feldname )
{

  laenge = feld.value.length;
  if (laenge) {
    var strText = ''
    var reg = /^[0-9]{2}\.[0-9]{2}\.[0-9]{4} (([0|1][0-9])|(2[0-3])):([0-5][0-9])$/; 
    if (!reg.test(feld.value))
    {
	    reg = /^[0-9]{2}\.[0-9]{2}\.[0-9]{4} (([0|1][0-9])|(2[0-3])):([0-5][0-9]):([0-5][0-9])$/; 
	    if (!reg.test(feld.value))
		  {
				strText = 'Bitte geben Sie den Wert im Feld "' + feldname + '" im Format tt.mm.jjjj hh:mm ein.\n';
			}
    } 
    
    if (strText.length != 0)
    {
      alert(strText)
      feld.focus()
      return(false);
    }
    else{
      return(true)
    }
  }
  else{
    return(true)
  }
}

function ntgValidateForm(){
  var arrMandatory
  var strField
  
  var objForm = findMandatoryForm();
  
  if (objForm) {
		arrMandatory = getMandatoryFields(objForm);
    if (arrMandatory.length > 0) {
      for (var i = 0; i < arrMandatory.length; i++){
				strField = "PPForm_"+ arrMandatory[i];
        if (objForm.elements[strField] && objForm.elements[strField].value.length <= 0){
          alert(arrKlartext[arrMandatory[i]]);
          return false;
        }
      }
		}
		
		if (objForm.elements["PPForm_ScheduleStartFormatted"] && objForm.elements["PPForm_ScheduleEndFormatted"]) {
			var arrDateTime = objForm.elements["PPForm_ScheduleStartFormatted"].value.split(" ")
			var arrDate = arrDateTime[0].split(".")
			var arrTime = arrDateTime[1].split(":")
			var dtmStart = new Date(arrDate[2],arrDate[1],arrDate[0],arrTime[0],arrTime[1],0)
			arrDateTime.length = 0
			arrDate.length = 0
			arrTime.length = 0
			arrDateTime = objForm.elements["PPForm_ScheduleEndFormatted"].value.split(" ")
			arrDate = arrDateTime[0].split(".")
			arrTime = arrDateTime[1].split(":")
			var dtmEnd = new Date(arrDate[2],arrDate[1],arrDate[0],arrTime[0],arrTime[1],0)
			if ( dtmEnd <= dtmStart ) {
				alert("Der R\u00FCckgabezeitpunkt liegt vor dem Ausleihzeitpunkt, bitte pr\u00FCfen Sie die Eingabe!")
				return false;
			}
		}
  }
}

function ntgMarkMandatory(){
  var objForm = findMandatoryForm();
  
  if (objForm) {
		arrMandatory = getMandatoryFields(objForm);
    if (arrMandatory.length > 0) {
      for (var i = arrMandatory.length-1;i >= 0; i--){
				var objElement = objForm.elements["PPForm_"+ arrMandatory[i]];
        if (objElement) {    
					if (objElement.length) {
						if (objElement.tagName && objElement.tagName.toLowerCase() == "select") {
							if (objElement.style) {
								objElement.style.backgroundColor = "#a7bfdb";
							}
						} else {
							for(var j = objElement.length-1; j >= 0; j--) {
								if (objElement[j] && objElement[j].type && objElement[j].style && objElement[j].type.toLowerCase() != "hidden") {
									objElement[j].style.backgroundColor = "#a7bfdb"
								}
							}
						}
					} else {
						if (objElement.style) {
							objElement.style.backgroundColor = "#a7bfdb";
						}
					}

        }
      }
    }
  }
  
  setPrintDate();
}

function getMandatoryFields(objForm) {
  if(objForm.elements["PPForm_Mandatory"].value.length != 0 ){
    return objForm.elements["PPForm_Mandatory"].value.split(",")
  }
  return new Array();
}

function findMandatoryForm() {

  if(document.getElementById && document.getElementById("PPForm_Mandatory")){
      return document.getElementById("PPForm_Mandatory").form
  }

  if(document.all && document.all["PPForm_Mandatory"]){
      return document.all["PPForm_Mandatory"].form
  }

  if (document.form) {
    for(var i = document.forms.length-1; i >= 0 ; i--){
        if(document.forms[i].elements["PPForm_Mandatory"]){
          return document.forms[i];
        } 
    }
  }

  return false;
}

// Script für Dispositionsansicht

var oLastEle = ""; 

function ntgSend(oEle) {
  ntgShowDetail(oEle, 0);
  oEle.form.submit();
}

function ntgSendList(oEleList) {
  if (document.forms['frmFMSDispo0']) { 
    var oEle = document.forms['frmFMSDispo0'].elements[0];
    if (document.forms['frmFMSDispo0']) { 
      ntgShowDetail(oEle, 0, oEleList.form.action);
      oEleList.form.action = oEle.form.action;
    }
  }
  return true;
}

function ntgShowDetail(oEle, lProcessId) {
  var sAction = oEle.form.action;
  if (arguments.length >= 3) {
    sAction = arguments[2];
  }
  var oFEle = oEle.form.elements['ntgYear'];
  var pos = oFEle.selectedIndex;
  sAction += "&ntgYear=" + oFEle.options[pos].value;
  oFEle = oEle.form.elements['ntgKW'];
  pos = oFEle.selectedIndex;
  sAction += "&ntgKW=" + oFEle.options[pos].value;
  if (lProcessId > 0) {
    oFEle = oEle.form.elements['ntgPPPID'];
    oFEle.value = lProcessId;
    sAction += "&ntgPPPID=" + lProcessId;
  }
  oEle.form.action = sAction;
}

function ntgChangeToolTip(oEle) {
  if (oEle.name == oLastEle) return; 
  oEle.title = oEle.title.replace(/\<br\>/gi, "\n"); 
  oLastEle = oEle.name; 
}

function ntgPaging(oEle, lDirection) {
  var oEleYear = oEle.form.elements['ntgYear'];
  var oEleKW   = oEle.form.elements['ntgKW'];

  var lKW = parseInt(oEleKW.options[oEleKW.selectedIndex].value, 10)
  var lYear = parseInt(oEleYear.options[oEleYear.selectedIndex].value, 10)

  switch(lDirection) {
    case -1:
      lKW += lDirection;
      if (lKW < 1) {
        lKW = 53;
        lYear--; 
      }
      break;
    case -2:  
      lKW = 1;
      break;
    case 1:
      lKW += lDirection;
      if (lKW > oEleKW.options.length) {
        lKW = 1;
        lYear++;
      }
      break;
    case 2:
      lKW = oEleKW.options.length;
      break;
    default:
      break;        
          
  }
    
  var sAction = oEle.form.action;

  sAction += "&ntgYear=" + lYear;
  sAction += "&ntgKW=" + lKW;

  oEle.form.action = sAction;
  oEle.form.submit();
}

//function monload() {
//	ntgMarkMandatory();
//}

function setPrintDate() {
	try {
		if (getObj1) {
			var printDateLayer = getObj1("printdate");
			if (printDateLayer) {
				var DruckDatum = new Date();
				printDateLayer.innerHTML = DruckDatum.toLocaleDateString();
			}
		}
	} 
	catch (e)
	{
	}
}

function ntgValidatePasswortChange(field, fieldrepeat, fieldold) {
	try {
		if (getObj1) {
			var newPwd = getObj1(field);
			var newPwdRepeat = getObj1(fieldrepeat);
			var oldPwd = getObj1(fieldold);
			
			if (oldPwd.value == "") {
				alert(arrErrText["PwdOldZeroLen"]);
				return false;
			}			
			if (newPwd.value == "") {
				alert(arrErrText["PwdZeroLen"]);
				return false;
			}			
			if (newPwdRepeat.value == "") {
				alert(arrErrText["PwdRepeatZeroLen"]);
				return false;
			}
			if (newPwd.value != newPwdRepeat.value) {
				alert(arrErrText["PwdFailed"]);
				return false;
			} else {
				return true;
			}
		}
	} 
	catch (e)
	{
		return false;
	}	
}

var printChanged = false;

function selPrintAll(allbox, rangeboxname, startfield, endfield) {
	if (allbox.checked) {
		document.getElementById(rangeboxname).checked = false;
		document.getElementById('CMSSetStatus_' + startfield).value = '';
		document.getElementById('CMSSetStatus_' + endfield).value = '';
		printChanged = true;
	}
}

function selPrintRange(rangebox, allboxname, startfield, endfield, startvalue, endvalue) {
	if (rangebox.checked) {
		document.getElementById(allboxname).checked = false;
		if (document.getElementById('CMSSetStatus_' + startfield).value == '') {
			document.getElementById('CMSSetStatus_' + startfield).value = startvalue;
		}
		if (document.getElementById('CMSSetStatus_' + endfield).value == '') {
			document.getElementById('CMSSetStatus_' + endfield).value = endvalue;
		}
		printChanged = true;
	}
}

function printPage() {
	if (window.print) {
		if (printChanged) {
			reload = confirm(txtPrintRangeChanged);
			if (reload) {
				document.getElementById('btnPrintRefresh').click();
				return false;
			}
		}
		window.print();
		return false;
	}
}

function refreshPrintPage(allboxname, rangeboxname, startfield, endfield, pagecount) {
	if (document.getElementById(allboxname).checked) {
		document.getElementById('CMSSetStatus_' + startfield).value = '1';
		document.getElementById('CMSSetStatus_' + endfield).value = pagecount;
	} else {
		if (!document.getElementById(rangeboxname).checked) {
			if (document.getElementById('CMSSetStatus_' + startfield).value != '' || document.getElementById('CMSSetStatus_' + endfield).value != '') {
				document.getElementById(rangeboxname).checked = true;
			} else {
				alert(txtPrintSelectionMissing);
				return false;
			}
		} else {
			var intLow 
			var intHigh
			
			try {
				intLow = parseInt(document.getElementById('CMSSetStatus_' + startfield).value,10)
			}
			catch (e) {
				intLow = 1
			}
			try {
				intHigh = parseInt(document.getElementById('CMSSetStatus_' + endfield).value,10)
			}
			catch (e) {
				intHigh = pagecount;
			}
			if (intLow < 1) {
				document.getElementById('CMSSetStatus_' + startfield).value = '1'
				intLow = 1
			}
			if (intHigh > pagecount || intHigh < 1) {
				document.getElementById('CMSSetStatus_' + endfield).value = pagecount
				intHigh = parseInt(pagecount,10)
			}
			if (intHigh < intLow) {
				var intHelp = intLow
				intLow = intHigh
				intHigh = intHelp
			}
			document.getElementById('CMSSetStatus_' + startfield).value = intLow
			document.getElementById('CMSSetStatus_' + endfield).value = intHigh
		}
	}
	window.document.body.style.cursor = 'wait';
}


function monload() {
	ntgMarkMandatory();
	if (getObj('copysummefromhere')) {
		if (getObj('copysummehere')) {
			getObj('copysummehere').innerHTML = getObj('copysummefromhere').innerHTML
		}
	}
	if (getObj('LoginForm')) {
		readLoginFromCookie();
	}
}

function readLoginFromCookie() {
	if (document.cookie) {
		var elements = document.cookie.split(";")
		for(ele in elements) {
			var pair = elements[ele].split("=");
			if (pair.length == 2) {
				if (pair[0] == "PincarSuiteLogin") {
					document.getElementById("RememberMe").checked = true
					document.getElementById("txtEMail").value = pair[1];
					document.getElementById("txtPwd").focus();
					return true;
				}
			}
		}
	}
}

function setLoginInCookie() {
	var datum = new Date()
	if (document.getElementById("RememberMe").checked) {
		datum = new Date(datum.getFullYear()+1, datum.getMonth(), datum.getDate())
	} else {
		datum = new Date(1970, 1, 1)
	}
	document.cookie = "PincarSuiteLogin=" + document.getElementById('txtEMail').value + ";expires=" + datum.toGMTString()
}

function checkInputFD() {
	if (getSelectionValue('DataView_FuelDataPublic_CarID') == '') {
		alert(txtSelectCar);
		return false;
	}

	var manualDate = 	getInputValue('DynForm_DatumTagVon') + getInputValue('DynForm_DatumMonatVon') + getInputValue('DynForm_DatumJahrVon') + getInputValue('DynForm_DatumTagBis') + getInputValue('DynForm_DatumMonatBis') + getInputValue('DynForm_DatumJahrBis')

	if (manualDate != "") {
		if (!copyDateValuesFD()) {
			return false;
		}
	} else {
		if (getSelectionValue('DataView_FuelDataPublic_Periode') == '') {	
			alert(txtSelectPeriodeOrRange);
			return false;
		} else {
			setPeriodDateFD();
		}
	}

	document.getElementById('CMSSetStatus_119').value = document.getElementById('DataView_FuelDataPublic_CarID').options[document.getElementById('DataView_FuelDataPublic_CarID').selectedIndex].value; 
}




function getSelectionValue(ddname) {
	return ((document.getElementById(ddname)) ? document.getElementById(ddname).options[document.getElementById(ddname).selectedIndex].value: '');
}

function getInputValue(name) {
	return ((document.getElementById(name)) ? document.getElementById(name).value: '');
}
function setInputValue(name, val) {
	if (document.getElementById(name)) {
		document.getElementById(name).value = val;
	}
}

function copyDateValues() {
	var sDateStart = ""
	var sDateEnd = ""
	
	var today = new Date()
	
	var sDST = getInputValue('DynForm_DatumTagVon')
	var sDSM = getInputValue('DynForm_DatumMonatVon')
	var sDSJ = getInputValue('DynForm_DatumJahrVon')
	var sDET = getInputValue('DynForm_DatumTagBis')
	var sDEM = getInputValue('DynForm_DatumMonatBis')
	var sDEJ = getInputValue('DynForm_DatumJahrBis')
	
	if (sDEJ == "") {
		sDEJ = today.getFullYear();
	} else {
		if (sDSJ == "") sDSJ =sDEJ;
	}
	if (sDEM == "") sDEM = today.getMonth()+1;
	if (sDET == "") sDET = getLastDayOfMonth(sDEM, sDEJ);
	
	if (sDSJ == "") sDSJ = today.getFullYear();
	if (sDSM == "") sDSM = today.getMonth()+1;
	if (sDST == "") sDST = "01";
	
	sDST = parseInt(sDST,10)
	sDSM = parseInt(sDSM,10)
	sDEM = parseInt(sDEM,10)
	sDET = parseInt(sDET,10)
	sDSJ = parseInt(normalizeJahr(sDSJ),10)
	sDEJ = parseInt(normalizeJahr(sDEJ),10)
	
	if (isNaN(sDSJ) || isNaN(sDSM) || isNaN(sDST)) {
		alert(txtStartTimeError);
		return false;
	}
	if (isNaN(sDEJ) || isNaN(sDEM) || isNaN(sDET)) {
		alert(txtEndTimeError);
		return false;
	}
	
	try {
		var datum = new Date(sDSJ, sDSM-1, sDST)
		sDSJ = datum.getFullYear()
		sDSM = leadZero(datum.getMonth()+1)
		sDST = leadZero(datum.getDate())
	} 
	catch (e) {
		alert(txtStartTimeError);
		return false;
	}

	try {
		var datum = new Date(sDEJ, sDEM-1, sDET)
		sDEJVis = datum.getFullYear()
		sDEMVis = leadZero(datum.getMonth()+1)
		sDETVis = leadZero(datum.getDate())
		var datum = new Date(sDEJ, sDEM-1, parseInt(sDET,10)+1)
		sDEJ = datum.getFullYear()
		sDEM = leadZero(datum.getMonth()+1)
		sDET = leadZero(datum.getDate())
	} 
	catch (e) {
		alert(txtEndTimeError);
		return false;
	}

	sDateStart = "" + sDSJ + sDSM + sDST
	sDateEnd = "" + sDEJ + sDEM + sDET
	sDateStart2 = sDST + "." + sDSM + "." + sDSJ
	sDateEnd2 = sDET + "." + sDEM + "." + sDEJ
	sDateEnd2Vis = sDETVis + "." + sDEMVis + "." + sDEJVis

	document.getElementById('DataView_CarLogBookPublic_TimeStartLocal').value = sDateStart2
	document.getElementById('DataView_CarLogBookPublic_TimeStartLocal1').value = sDateEnd2
	document.getElementById('CMSSetStatus_136').value = sDateStart
	document.getElementById('CMSSetStatus_137').value = sDateEnd

	document.getElementById('CMSSetStatus_114').value = sDateStart2 + " bis " + sDateEnd2Vis
	document.getElementById('DataView_CarLogBookPublic_Periode').selectedIndex = 0
	
	setDateInputs(sDST, sDSM, sDSJ, sDETVis, sDEMVis, sDEJVis)
	
	return true;
}

function copyDateValuesFD() {
	var sDateStart = ""
	var sDateEnd = ""
	
	var today = new Date()
	
	var sDST = getInputValue('DynForm_DatumTagVon')
	var sDSM = getInputValue('DynForm_DatumMonatVon')
	var sDSJ = getInputValue('DynForm_DatumJahrVon')
	var sDET = getInputValue('DynForm_DatumTagBis')
	var sDEM = getInputValue('DynForm_DatumMonatBis')
	var sDEJ = getInputValue('DynForm_DatumJahrBis')
	
	if (sDEJ == "") {
		sDEJ = today.getFullYear();
	} else {
		if (sDSJ == "") sDSJ =sDEJ;
	}
	if (sDEM == "") sDEM = today.getMonth()+1;
	if (sDET == "") sDET = getLastDayOfMonth(sDEM, sDEJ);
	
	if (sDSJ == "") sDSJ = today.getFullYear();
	if (sDSM == "") sDSM = today.getMonth()+1;
	if (sDST == "") sDST = "01";
	
	sDST = parseInt(sDST,10)
	sDSM = parseInt(sDSM,10)
	sDEM = parseInt(sDEM,10)
	sDET = parseInt(sDET,10)
	sDSJ = parseInt(normalizeJahr(sDSJ),10)
	sDEJ = parseInt(normalizeJahr(sDEJ),10)
	
	if (isNaN(sDSJ) || isNaN(sDSM) || isNaN(sDST)) {
		alert(txtStartTimeError);
		return false;
	}
	if (isNaN(sDEJ) || isNaN(sDEM) || isNaN(sDET)) {
		alert(txtEndTimeError);
		return false;
	}
	
	try {
		var datum = new Date(sDSJ, sDSM-1, sDST)
		sDSJ = datum.getFullYear()
		sDSM = leadZero(datum.getMonth()+1)
		sDST = leadZero(datum.getDate())
	} 
	catch (e) {
		alert(txtStartTimeError);
		return false;
	}

	try {
		var datum = new Date(sDEJ, sDEM-1, sDET)
		sDEJVis = datum.getFullYear()
		sDEMVis = leadZero(datum.getMonth()+1)
		sDETVis = leadZero(datum.getDate())
		var datum = new Date(sDEJ, sDEM-1, parseInt(sDET,10)+1)
		sDEJ = datum.getFullYear()
		sDEM = leadZero(datum.getMonth()+1)
		sDET = leadZero(datum.getDate())
	} 
	catch (e) {
		alert(txtEndTimeError);
		return false;
	}

	sDateStart = "" + sDSJ + sDSM + sDST
	sDateEnd = "" + sDEJ + sDEM + sDET
	sDateStart2 = sDST + "." + sDSM + "." + sDSJ
	sDateEnd2 = sDET + "." + sDEM + "." + sDEJ
	sDateEnd2Vis = sDETVis + "." + sDEMVis + "." + sDEJVis

	document.getElementById('DataView_FuelDataPublic_TimeStart').value = sDateStart2
	document.getElementById('DataView_FuelDataPublic_TimeEnd').value = sDateEnd2
	document.getElementById('CMSSetStatus_136').value = sDateStart
	document.getElementById('CMSSetStatus_137').value = sDateEnd

	document.getElementById('CMSSetStatus_114').value = sDateStart2 + " bis " + sDateEnd2Vis
	document.getElementById('DataView_FuelDataPublic_Periode').selectedIndex = 0
	
	setDateInputs(sDST, sDSM, sDSJ, sDETVis, sDEMVis, sDEJVis)
	
	return true;
}

function setPeriodDate() {
	var sDST = ""
	var sDSM = ""
	var sDSJ = ""
	var sDET = ""
	var sDEM = ""
	var sDEJ = ""

	var periode = document.getElementById('DataView_CarLogBookPublic_Periode').options[document.getElementById('DataView_CarLogBookPublic_Periode').selectedIndex].text
	var parts = periode.split(".")
	
	if (parts.length > 1) {
		sDSJ = leadZero(parts[1])
		sDSM = leadZero(parts[0])
		sDST = "01"
		sDEJ = leadZero(parts[1])
		sDEM = leadZero(parts[0])
		sDET = getLastDayOfMonth(parts[0], parts[1])
	} else {
		// komplettes jahr
		sDST = "01"
		sDSM = "01"
		sDSJ = periode.substring(0,4)
		sDET = "31"
		sDEM = "12"
		sDEJ = periode.substring(0,4)
	}

	sDST = parseInt(sDST,10)
	sDSM = parseInt(sDSM,10)
	sDEM = parseInt(sDEM,10)
	sDET = parseInt(sDET,10)
	sDSJ = parseInt(normalizeJahr(sDSJ),10)
	sDEJ = parseInt(normalizeJahr(sDEJ),10)
	
	try {
		var datum = new Date(sDSJ, sDSM-1, sDST)
		sDSJ = datum.getFullYear()
		sDSM = leadZero(datum.getMonth()+1)
		sDST = leadZero(datum.getDate())
	} 
	catch (e) {
	}

	try {
		var datum = new Date(sDEJ, sDEM-1, parseInt(sDET,10)+1)
		sDEJ = datum.getFullYear()
		sDEM = leadZero(datum.getMonth()+1)
		sDET = leadZero(datum.getDate())
	} 
	catch (e) {
	}

	sDateStart = "" + sDSJ + sDSM + sDST
	sDateEnd = "" + sDEJ + sDEM + sDET
	sDateStart2 = sDST + "." + sDSM + "." + sDSJ
	sDateEnd2 = sDET + "." + sDEM + "." + sDEJ

	setInputValue('DataView_CarLogBookPublic_TimeStartLocal', sDateStart2)
	setInputValue('DataView_CarLogBookPublic_TimeStartLocal1', sDateEnd2)
	setInputValue('CMSSetStatus_136', sDateStart)
	setInputValue('CMSSetStatus_137', sDateEnd)

	setInputValue('CMSSetStatus_114', periode)
	setDateInputs("", "", "", "", "", "")
}

function setPeriodDateFD() {
	var sDST = ""
	var sDSM = ""
	var sDSJ = ""
	var sDET = ""
	var sDEM = ""
	var sDEJ = ""

	var periode = document.getElementById('DataView_FuelDataPublic_Periode').options[document.getElementById('DataView_FuelDataPublic_Periode').selectedIndex].text
	var parts = periode.split(".")
	
	if (parts.length > 1) {
		sDSJ = leadZero(parts[1])
		sDSM = leadZero(parts[0])
		sDST = "01"
		sDEJ = leadZero(parts[1])
		sDEM = leadZero(parts[0])
		sDET = getLastDayOfMonth(parts[0], parts[1])
	} else {
		// komplettes jahr
		sDST = "01"
		sDSM = "01"
		sDSJ = periode.substring(0,4)
		sDET = "31"
		sDEM = "12"
		sDEJ = periode.substring(0,4)
	}

	sDST = parseInt(sDST,10)
	sDSM = parseInt(sDSM,10)
	sDEM = parseInt(sDEM,10)
	sDET = parseInt(sDET,10)
	sDSJ = parseInt(normalizeJahr(sDSJ),10)
	sDEJ = parseInt(normalizeJahr(sDEJ),10)
	
	try {
		var datum = new Date(sDSJ, sDSM-1, sDST)
		sDSJ = datum.getFullYear()
		sDSM = leadZero(datum.getMonth()+1)
		sDST = leadZero(datum.getDate())
	} 
	catch (e) {
	}

	try {
		var datum = new Date(sDEJ, sDEM-1, parseInt(sDET,10)+1)
		sDEJ = datum.getFullYear()
		sDEM = leadZero(datum.getMonth()+1)
		sDET = leadZero(datum.getDate())
	} 
	catch (e) {
	}

	sDateStart = "" + sDSJ + sDSM + sDST
	sDateEnd = "" + sDEJ + sDEM + sDET
	sDateStart2 = sDST + "." + sDSM + "." + sDSJ
	sDateEnd2 = sDET + "." + sDEM + "." + sDEJ

	setInputValue('DataView_FuelDataPublic_TimeStart', sDateStart2)
	setInputValue('DataView_FuelDataPublic_TimeEnd', sDateEnd2)
	setInputValue('CMSSetStatus_136', sDateStart)
	setInputValue('CMSSetStatus_137', sDateEnd)

	setInputValue('CMSSetStatus_114', periode)
	setDateInputs("", "", "", "", "", "")
}

function setDateInputs(tagvon, monatvon, jahrvon, tagbis, monatbis, jahrbis) {
	setInputValue('DynForm_DatumTagVon',   tagvon)
	setInputValue('DynForm_DatumMonatVon', monatvon)
	setInputValue('DynForm_DatumJahrVon',  jahrvon)
	setInputValue('DynForm_DatumTagBis',   tagbis)
	setInputValue('DynForm_DatumMonatBis', monatbis)
	setInputValue('DynForm_DatumJahrBis',  jahrbis)
}

function normalizeJahr(jahr) {
	var today = new Date()
	switch(jahr.length) {
		case 1:
		case 2:
		case 3:
			return (""+today.getFullYear()).substring(0, 4-jahr.length) + jahr;
			break;
		case 4:
			return jahr;
	}
	return today.getFullYear();
}

function validDate(jahr, monat, tag) {
	try {
		var datum = new Date(jahr, monat, tag)
		return true
	}
	catch(e) {
	}
	return false
}

function leadZero(val) {
	try {
		var valString = "" + val;
		if (valString.length < 2 || parseInt(val, 10) < 10) {
			return "0" + parseInt(val,10);
		} else {
			return val;
		}
	} 
	catch(e) {
	}
	return val;
}

function copyFromInput(sourcename, targetname) {
	var targetfield = document.getElementById(targetname)
	var sourcefield = document.getElementById(sourcename)
	if (targetfield && sourcefield) {
		targetfield.value = sourcefield.value;
	}
}

function copyFromDropDown(hiddenname, ddname, copytext, ignorezero) {
	var hiddenfield = document.getElementById(hiddenname)
	var dropdown = document.getElementById(ddname)
	if (hiddenfield && dropdown) {
		if (dropdown.selectedIndex == 0 && ignorezero) return;
		dropdown = dropdown.options[dropdown.selectedIndex];
		hiddenfield.value = (copytext) ? dropdown.text : dropdown.value;
	}
}

function getLastDayOfMonth(monat, jahr) {
  if ((monat==1)|(monat==3)|(monat==5)|(monat==7)|(monat==8)|(monat==10)|(monat==12)) {
		return 31
	} else {
    if (!(monat==2)) {
			return 30;
		} else {
      if (( jahr%4 == 0 ) & ( !( jahr%100 == 0 ) | ( jahr%400 == 0))) {
				return 29
			} else {
				return 28
			}
    }
  }
}

function clearDates(dropdown) {
	if (dropdown.selectedIndex > 0) {
		setDateInputs('', '', '', '', '', '')
	}
}

function clearDropDown(field, id) {
	if (field.value != "") {
		var aDropDowns = document.getElementsByTagName("SELECT")
		try {
			if (aDropDowns != null && aDropDowns.length > 0) {
				for(var i = 0; i < aDropDowns.length; i++) {
					if (aDropDowns[i].id.indexOf(id) >= 0) {
						aDropDowns[i].selectedIndex = 0;
					}
				}
			}
		}
		catch(e) {
		}
//		document.getElementById(id).selectedIndex = 0
	}
}