var firstDate = 0;
var secondDate = 0;

function changeDateType(button, form, init)
{
  var color = '#CCCCCC';
  if (button.value=='alt1' || init==1) {
    form.vom2.value='';
    form.vom2.disabled=true;
    form.vom2.style.backgroundColor = color;
    form.bis2.value='';
    form.bis2.disabled=true;
    form.bis2.style.backgroundColor = color;
    form.intervall.disabled=true;
    form.intervall.value=7;
    form.vom1.disabled=false;
    form.vom1.style.backgroundColor = '';
    form.bis1.disabled=false;
    form.bis1.style.backgroundColor = '';
    if (init!=1) { form.vom1.focus() };
  }
  else {
    form.vom1.value='';
    form.vom1.disabled=true;
    form.vom1.style.backgroundColor = color;
    form.bis1.value='';
    form.bis1.disabled=true;
    form.bis1.style.backgroundColor = color;
    form.vom2.disabled=false;
    form.vom2.style.backgroundColor = '';
    form.bis2.disabled=false;
    form.bis2.style.backgroundColor = '';
    form.intervall.disabled=false;
    form.vom2.focus();
  }
}

function changeContractType(button, form, init)
{
  var color = '#CCCCCC';
  if (button.value=='post' || init==1) {
    form.faxNr.value='';
    form.faxNr.disabled=true;
    form.faxNr.style.backgroundColor = color;
  }
  else if(button.value=='fax') {
    form.faxNr.disabled=false;
    form.faxNr.style.backgroundColor = '';
    form.faxNr.focus();
  }
  else {
    form.faxNr.value='';
    form.faxNr.disabled=true;
    form.faxNr.style.backgroundColor = color; 
  }
}

function changeMaxPris(box, form)
{
   form.MaxPris.value = '';
   if(box.checked)
      form.MaxPris.disabled = true;
   else
      form.MaxPris.disabled = false;
}

function checkContract(form)
{
  if (form.kontrakttyp[1].checked)
    return checkEmail(form);
  if (form.kontrakttyp[2].checked)
    return checkFaxNr(form);
}

function checkFaxNr(form)
{
  if (form.kontrakttyp[2].checked && form.faxNr.value.length==0)
  {
    alert('Bitte Fax Nr. angeben !!!');
    form.faxNr.focus();
    return false;
  }
  return true;
}

function checkStuff(form)
{
   if (!checkEmail(form)) { return false; }
   if( !checkMaxPris(form) ) { return false; }

  if (form.vom1.disabled == false) { return checkDates(form.vom1, form.bis1, 0); }
  else { return checkDates(form.vom2, form.bis2, Math.abs(form.intervall.value)); }
}

function checkMaxPris(form)
{
   if(form.egal.checked)
      form.MaxPris.value = '999999';

   return true;
}

function checkEmail(form)
{
  if (form.email.value.length == 0) {
    alert('Bitte E-mail-Anschrift angeben !!!');
    form.email.focus();
    form.email.select();    
    return false;
  }
  var str = form.email.value;
  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
  if (reg1.test(str) || !reg2.test(str)) {
    alert('Bitte E-mail-Anschrift korrekt angeben !!!');
    form.email.focus();
    form.email.select();    
    return false;
  }
  return true;
}

function checkDates(startDate, endDate, dateType)
{
  var retVal = checkDate(startDate);
  if (retVal) { retVal = checkDate(endDate); }
  else { return false; }
  if (retVal) {
  	if (dateType == 0) {
  		if (firstDate > (secondDate - 3)) {
  		  alert('Die Mindestmietzeit ist 3 Übernachtungen !!!');
  		  firstDate = 0;
  		  secondDate = 0;
  		  retVal = false;
  	  }
  	}
  	else {
  		if (firstDate > (secondDate - dateType)) {
  			alert('Bitte Mietzeit korrekt angeben !!!');
  			firstDate = 0;
  			secondDate = 0;
  			retVal = false;
  		}
  	}
  }
  return retVal;
}

function checkDate(myDate)
{
  var curDate = myDate.value;
  var retVal;
  var reg = /^[0-9]{2}\.[0-9]{2}\.2[0-9]{3}$/;
  if (!curDate.match(reg)) {
    retVal = false;
  }
  else {
    var day = curDate.slice(0,2);
    var month = curDate.slice(3,5);
    month -= 1;
    var year = curDate.slice(6,10);
    if (firstDate == 0) {
      firstDate = Math.abs(year + month + day);
    }
    else {
    	secondDate = Math.abs(year + month + day);
    }
    var dteDate = new Date(year, month, day);
    retVal = ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
  }
  if (retVal == false) {
    alert('Bitte Mietzeit korrekt angeben !!!');
    myDate.focus();
    myDate.select();
  }
  return retVal;
}
