// JScript-Datei
function Open_Window(Url,WindowName,Options,ww,wh)
{
  WindowParam = Options + ',left='+(screen.width-ww)/2 + ',top='+(screen.height-wh)/2+',width='+ww+',height='+wh
  NewWindow=window.open(Url, WindowName, WindowParam);	
  return NewWindow
}
  function AGB(VA)
{
 Open_Window('http://www.lmweb.net/lmi/agb/agb_'+VA+'.htm', "AGB", "scrollbars=yes,menubar=yes,resizable=yes", 550,500);
} 
  function ERV()
{
 Open_Window('http://www.reiseversicherung.de', "AGB", "scrollbars=yes,menubar=yes,resizable=yes", 1000,500);

// Open_Window('http://www.reiseversicherung.de/bedingungen/bedingungen/g_versBed/7168/index.html', "AGB", "scrollbars=yes,menubar=yes,resizable=yes", 700,500);
}
  function CVCCVV()
{
 Open_Window('/inc/CVC_CVV_code.asp', "AGB", "scrollbars=no,menubar=no,resizable=no", 605,300);
} 
function thwate()
{
 Open_Window('https://www.thawte.com/core/process?process=public-site-seal-cert-details&public-site-seal-cert-details.referer=http://www.alltoursreisecenter.de', "thwate", "scrollbars=yes,menubar=yes,resizable=yes", 520,630);
} 
function AgbCheck(state)
{
  if (state == false)
  {
	  //printerr("Bitte bestätigen Sie zuerst die Allgemeinen Geschäftsbedingungen des Veranstalters und die Datenschutzbestiummungen!");
  }
  return state;
}
function printerr(text) {
    if (text == "") {
    document.getElementById('err').style.display="none";
    document.getElementById('err').innerHTML =  text;
    }else{
    document.getElementById('err').style.display="block";
    document.getElementById('err').innerHTML =  text;
    }
}
function printerr_kinder(text) {
    document.getElementById('err').style.display="block";
    if (document.getElementById('err').innerHTML!=''){
    document.getElementById('err').innerHTML = document.getElementById('err').innerHTML + '<br />' + text;
    }else{
    document.getElementById('err').innerHTML =  text;
    }
}

function ep(obj,format)
{
    var status;
    if (obj.value=='')
    {
        //printerr("Füllen Sie bitte die gekennzeichneten Felder aus.")
        obj.style.backgroundColor="#FF0000";
        status = false;
    }else{
        status = false;
        if (format == '') {
            obj.style.backgroundColor="#FFFFFF";
            status = true;
        }else{
            if (format == 'datum') {
                if (isDate(obj.value)) {
                    obj.style.backgroundColor="#FFFFFF";
                    status = true;
                }else{
                    obj.style.backgroundColor="#FF0000";
                }
            }else if (format == 'nummer'){
                 if (isnumeric(obj.value)) {
                    obj.style.backgroundColor="#FFFFFF";
                    status = true;
                }else{
                    obj.style.backgroundColor="#FF0000";
                }
            }else {
                obj.style.backgroundColor="#FFFFFF";
                status = true;
            }
        }
    }
    return status
}

function epalter(obj,Name)
{
    var status;
    if (obj.value=='')
    {
        obj.style.backgroundColor="#FF0000";
        status = false;
    }else{
        obj.style.backgroundColor="#FFFFFF";
        status = true;
    }
    return status
}

function Plausi(reisedatum) {
    printerr("");
    var boolcheck = true;
    var emailblock = false;
    var strerrortext = "";
    with (window.document.buchen) {

  

        if (!checkEmail(R_EMAIL)) {
            boolcheck = false;
        }    
            
        if (!MailPlausi(R_EMAIL.value)) {
            boolcheck = false;
        }
        if (!ep(R_NAME,"")) {
            boolcheck = false;
        }
        if (!ep(R_VNAME,"")) {
            boolcheck = false;
        }
        if (!ep(R_PLZ,"nummer")) {
            boolcheck = false;
        }
         if (!ep(R_STRASSE,"")) {
            boolcheck = false;
        }
        if (!ep(R_ORT,"")) {
            boolcheck = false;
        }
        if (!ep(R_TEL1,"nummer")) {
            boolcheck = false;
        }
        
        if (window.document.buchen.P1_NAME) {
             if (!ep(P1_NAME,"")) boolcheck = false;
             if (!ep(P1_VNAME,"")) boolcheck = false;
             if (!ep(P1_ALTER,"datum")) boolcheck = false;
        }
        if (window.document.buchen.P2_NAME) {
             if (!ep(P2_NAME,"")) boolcheck = false;
             if (!ep(P2_VNAME,"")) boolcheck = false;
             if (!ep(P2_ALTER,"datum")) boolcheck = false;
        }
        if (window.document.buchen.P3_NAME) {
             if (!ep(P3_NAME,"")) boolcheck = false;
             if (!ep(P3_VNAME,"")) boolcheck = false;
             if (!ep(P3_ALTER,"datum")) boolcheck = false;
        }
        if (window.document.buchen.P4_NAME) {
             if (!ep(P4_NAME,"")) boolcheck = false;
             if (!ep(P4_VNAME,"")) boolcheck = false;
             if (!ep(P4_ALTER,"datum")) boolcheck = false;
        }
        if (window.document.buchen.P5_NAME) {
             if (!ep(P5_NAME,"")) boolcheck = false;
             if (!ep(P5_VNAME,"")) boolcheck = false;
             if (!ep(P5_ALTER,"datum")) boolcheck = false;
        }
        if (!boolcheck) {
            strerrortext = "<li>Füllen Sie bitte die gekennzeichneten Felder aus und prüfen das Format ihrer Eingabe.</li>"
        }
        if (!checkZahlungsart()) {
            
            strerrortext = "<li>Füllen Sie bitte die gekennzeichneten Felder aus und prüfen das Format ihrer Eingabe.</li>"
            boolcheck = false;
        }
        
        
        if (!PlausiAlter2(reisedatum)) {
            boolcheck = false;
            
            strerrortext += "<li>Das Geburtsdatum des Kindes ist nicht korrekt.<br />Die Altersangabe bei der Angebotssuche stimmt nicht mit dem Geburtsdatum des Kindes überein.<br />Bitte stellen Sie Ihre Suchanfrage neu mit dem korrekten Alter des Kindes zu Reisebeginn.</li>"
        }
        
    }
    if (!strerrortext=="") {
        printerr("<ul style='padding-left:20px;'>" + strerrortext + "</ul>")
    }

   
    
    return boolcheck;
}
function checkbestaetigung() {
    var boolcheck = true;
    printerr("");
    var boolcheck = true;
    var strerrortext = "";
    with (window.document.buchen) {
        if (!AgbCheck(AGB_rca.checked)) {
            boolcheck = false;

            strerrortext += "<li>Bitte bestätigen Sie die Allgemeinen Geschäftsbedingungen von alltours Reisecenter!</li>"
        }
        if (window.document.buchen.AGB) {
            if (!AgbCheck(AGB.checked)) {
                boolcheck = false;

                strerrortext += "<li>Bitte bestätigen Sie die Allgemeinen Geschäftsbedingungen des Veranstalters bzw. der Fluggesellschaft!</li>"
            }
        } else {
            if (!AgbCheck(AGB_flug.checked)) {
                boolcheck = false;

                strerrortext += "<li>Bitte bestätigen Sie die Allgemeinen Geschäftsbedingungen der Fluggesellschaft!</li>"
            }
            if (!AgbCheck(AGB_anbieter.checked)) {
                boolcheck = false;

                strerrortext += "<li>Bitte bestätigen Sie die Allgemeinen Geschäftsbedingungen des Anbieters!</li>"
            }
        }

        if (!AgbCheck(DATENSCHUTZ.checked)) {
            boolcheck = false;

            strerrortext += "<li>Bitte bestätigen Sie die Datenschutzbestiummungen!</li>"
        }
    }
    if (!strerrortext == "") {
        printerr("<ul style='padding-left:20px;'>" + strerrortext + "</ul>")
    }
    
    return boolcheck;
}

function Plausi_alt()
{
 with (window.document.buchen)
 {
  if ( MailPlausi(R_EMAIL.value) &&
      
      ep(R_NAME,"REISENDER Name") &&
      ep(R_VNAME,"REISENDER Vorname") &&
      ep(R_PLZ,"REISENDER PLZ") &&
      ep(R_ORT,"REISENDER ORT") &&
      ep(R_STRASSE,"REISENDER STRASSE") &&
      ep(R_TEL1,"REISENDER Telefon") &&
      ReisendePlausi() &&
      AgbCheck(AGB.checked) &&
      checkZahlungsart()&&
      AgbCheck(DATENSCHUTZ.checked)
      
     ){ 
  return true;
  }else{
     
      MailPlausi(R_EMAIL.value);
      ep(R_EMAIL,"REISENDER Name");
      ep(R_NAME,"REISENDER Name");
      ep(R_VNAME,"REISENDER Vorname");
      ep(R_PLZ,"REISENDER PLZ");
      ep(R_ORT,"REISENDER ORT");
      ep(R_STRASSE,"REISENDER STRASSE");
      ep(R_TEL1,"REISENDER Telefon");
      ReisendePlausi();
      checkZahlungsart();
      return false;
     }
 }
}

function checkEmail(obj) {
    if (!ep(obj, "")) {
        return false;
    } else if (!checkemailsyn(obj.value)) {
        obj.style.backgroundColor = "#FF0000";
        return false;
    } else {
        return true;
    }
}

function checkemailsyn(str){
 
    var filter=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
    if (filter.test(str))
    testresults=true
    else{
    testresults=false
    }
    return (testresults)
}



function PlausiAlter(strKA1,strKA2,strKA3,reisedatum){
     var check = false;
     var check1 = false;
     var check2 = false;
     var check3 = false;
     var check4 = false;
     var check5 = false;
     with (window.document.buchen)
        {
         if (strKA1 == "18" || strKA1 == "" ) {
            check = true;        
         }else {
            check = false;
            if (!P1_ALTER || getAlter(reisedatum,P1_ALTER.value)==strKA1) {check = true;}else{ check = false;}
            if (window.document.buchen.P2_ALTER) if (!check && (!P2_ALTER || getAlter(reisedatum,P2_ALTER.value)== strKA1)) {check = true;}
            if (window.document.buchen.P3_ALTER) if (!check && (!P3_ALTER || getAlter(reisedatum,P3_ALTER.value)== strKA1)) {check = true;}  
            if (document.getElementById("P4_ALTER")) if (!check && (!P4_ALTER || getAlter(reisedatum,P4_ALTER.value)== strKA1)) {check = true;} 
            if (window.document.buchen.P5_ALTER) if (!check && (!P5_ALTER || getAlter(reisedatum,P5_ALTER.value)== strKA1)) {check = true;}  
         }
         if (check && (strKA2 == "18" || strKA2 == "" )) {
            check = true;        
         
         }else {
		 	if (check) {
            check = false;
            if (!P1_ALTER || getAlter(reisedatum,P1_ALTER.value)==strKA2) {check = true;}
            if (window.document.buchen.P2_ALTER) if (!check && (!P2_ALTER || getAlter(reisedatum,P2_ALTER.value)==strKA2)) {check = true;}
            if (window.document.buchen.P3_ALTER) if (!check && (!P3_ALTER || getAlter(reisedatum,P3_ALTER.value)==strKA2)) {check = true;}  
            if (window.document.buchen.P4_ALTER) if (!check && (!P4_ALTER || getAlter(reisedatum,P4_ALTER.value)==strKA2)) {check = true;}   
            if (window.document.buchen.P5_ALTER) if (!check && (!P5_ALTER || getAlter(reisedatum,P5_ALTER.value)==strKA2)) {check = true;}   
			}
         }
         if (check && (strKA3 == "18" || strKA3 == "" )) {
            check = true;        
         }else {
		 	if (check) {
            check = false;
            if (!P1_ALTER || getAlter(reisedatum,P1_ALTER.value)==strKA3) {check = true;}
            if (window.document.buchen.P2_ALTER) if (!check && (!P2_ALTER || getAlter(reisedatum,P2_ALTER.value)==strKA3)) {check = true;}
            if (window.document.buchen.P3_ALTER) if (!check && (!P3_ALTER || getAlter(reisedatum,P3_ALTER.value)==strKA3)) {check = true;}   
            if (window.document.buchen.P4_ALTER) if (!check && (!P4_ALTER || getAlter(reisedatum,P4_ALTER.value)==strKA3)) {check = true;}  
            if (window.document.buchen.P5_ALTER) if (!check && (!P5_ALTER || getAlter(reisedatum,P5_ALTER.value)==strKA3)) {check = true;}  
			}
         }
     }
     if (!check) {
        printerr_kinder("Das Geburtsdatum des Kindes ist nicht korrekt.<br />Die Altersangabe bei der Angebotssuche stimmt nicht mit dem Geburtsdatum des Kindes überein.<br />Bitte stellen Sie Ihre Suchanfrage neu mit dem korrekten Alter des Kindes zu Reisebeginn.");
     }
    
     return check;
}



function PlausiAlter2(reisedatum){

     
     var check = true;
     
     with (window.document.buchen) {
        if (window.document.buchen.ka1_test) {
            var objKA1 = document.getElementById(window.document.buchen.ka1_feld.value)
            
            if (getAlter(reisedatum,objKA1.value)!=window.document.buchen.ka1_test.value)
            {
            objKA1.style.backgroundColor="#FF0000";
            check = false;
            }else{
            objKA1.style.backgroundColor="#FFFFFF";
            }
        }
        if (window.document.buchen.ka2_test) {
            var objKA2 = document.getElementById(window.document.buchen.ka2_feld.value)
            
            if (getAlter(reisedatum,objKA2.value)!=window.document.buchen.ka2_test.value)
            {
            objKA2.style.backgroundColor="#FF0000";
            check = false;
            }else{
            objKA2.style.backgroundColor="#FFFFFF";
            }
        }
        if (window.document.buchen.ka3_test) {
            var objKA3 = document.getElementById(window.document.buchen.ka3_feld.value)
            
            if (getAlter(reisedatum,objKA3.value)!=window.document.buchen.ka3_test.value)
            {
            objKA3.style.backgroundColor="#FF0000";
            check = false;
            }else{
            objKA3.style.backgroundColor="#FFFFFF";
            }
        }
     }
     
     
     if (!check) {
        //printerr_kinder("Das Geburtsdatum des Kindes ist nicht korrekt.<br />Die Altersangabe bei der Angebotssuche stimmt nicht mit dem Geburtsdatum des Kindes überein.<br />Bitte stellen Sie Ihre Suchanfrage neu mit dem korrekten Alter des Kindes zu Reisebeginn.");
     }
    
     return check;
}


function checkZahlungsart() {
    with (window.document.buchen)
    {
    var check = true;
    var zaart;
    if (Zahlungsart) {
    if (Zahlungsart.checked) zaart = Zahlungsart.value;
    }
    if (Zahlungsart[0]) {
    if (Zahlungsart[0].checked) zaart = Zahlungsart[0].value;
    }
    if (Zahlungsart[1]) {
    if (Zahlungsart[1].checked) zaart = Zahlungsart[1].value;
    }
    
    if (zaart == "Kreditkarte"){
      check = false;
      check = ep(K_Vorname," ");
      
      if (check){check = ep(K_Name,"")}else{ep(K_Name,"");}
      if (check) { check = ep(K_Typ, "") } else { ep(K_Typ, "") };
      if (check) { check = ep(K_Nummer, "nummer") } else { ep(K_Nummer, "nummer") };
      if (check) {
          
          if (K_Typ.value == "Amex" && K_Nummer.value.length != 15) {
              check = false;
              K_Nummer.style.backgroundColor = "#FF0000";
          } else {
          if (K_Typ.value != "Amex" && K_Nummer.value.length != 16) {
                  check = false;
                  K_Nummer.style.backgroundColor = "#FF0000";
              } 
          }
      } else {
      
          if ((K_Typ.value == "Amex") && (K_Nummer.value.length != 15)) {
              K_Nummer.style.backgroundColor = "#FF0000";
          } else {
          if (K_Typ.value != "Amex" && K_Nummer.value.length != 16) {
                     K_Nummer.style.backgroundColor = "#FF0000";
                  } 
            }
      }
      if (check){check = ep(Gueltig_MM,"nummer")}else{ep(Gueltig_MM,"nummer")};
      if (check){check = ep(Gueltig_JJ,"nummer")}else{ep(Gueltig_JJ,"nummer")};
      if (check){check = ep(CVC_CVV,"nummer")}else{ep(CVC_CVV,"nummer")};
    }
    if (zaart == "Lastschrift"){
      check = false;
      check = ep(LBank_Name,"");
      if (check){ep(LBank_BLZ,"nummer")}else{ep(LBank_BLZ,"nummer")};
      if (check){ep(Bankkonto_Nummer,"nummer")}else{ep(Bankkonto_Nummer,"nummer")};
    }
    }
     return check;
}
function tlc(name,vname,anr,age,id)
{
  if (!name || (ep(name ,"Name Teilnehmer-"+id) && ep(vname,"Vorname Teilnehmer-"+id) &&
           (ep(age ,"Alter Teilnehmer-"+id)))) {
           
  return true;
  }else{
  ep(name ,"Name Teilnehmer-"+id);
  ep(vname,"Vorname Teilnehmer-"+id);
  ep(age ,"Alter Teilnehmer-"+id);
  return false;
  }
}

function ReisendePlausi()
{
 with (window.document)
 {
   if ( tlc(buchen.P1_NAME, buchen.P1_VNAME, buchen.P1_ANR, buchen.P1_ALTER,1) &&
        tlc(buchen.P2_NAME, buchen.P2_VNAME, buchen.P2_ANR, buchen.P2_ALTER,2) &&
        tlc(buchen.P3_NAME, buchen.P3_VNAME, buchen.P3_ANR, buchen.P3_ALTER,3) &&
        tlc(buchen.P4_NAME, buchen.P4_VNAME, buchen.P4_ANR, buchen.P4_ALTER,4) &&
        tlc(buchen.P5_NAME, buchen.P5_VNAME, buchen.P5_ANR, buchen.P5_ALTER,5)
      ){
  return true;
  }else{
  tlc(buchen.P1_NAME, buchen.P1_VNAME, buchen.P1_ANR, buchen.P1_ALTER,1);
        tlc(buchen.P2_NAME, buchen.P2_VNAME, buchen.P2_ANR, buchen.P2_ALTER,2);
        tlc(buchen.P3_NAME, buchen.P3_VNAME, buchen.P3_ANR, buchen.P3_ALTER,3);
        tlc(buchen.P4_NAME, buchen.P4_VNAME, buchen.P4_ANR, buchen.P4_ALTER,4);
        tlc(buchen.P5_NAME, buchen.P5_VNAME, buchen.P5_ANR, buchen.P5_ALTER,5);
  return false;
  }
 }
}




function MailError(Text)
{
  printerr("Fehler in eMail-Adresse: "+Text+"\n\nBsp: 'mustermann@web.de'")

  return false;
}


function MailPlausi(EMAIL)
{
  pos =   EMAIL.indexOf("@")
  
  if (pos==-1) return MailError("kein @"); 

  if (pos < 2) return MailError("Name zu kurz"); 

  mailserver=EMAIL.substr(pos+1)

  if (EMAIL.indexOf(" ") !=-1) return MailError("Mailadresse darf kein Leerzeichen enthalten"); 


  pos = mailserver.indexOf(".")

  if (pos==-1) return MailError("Mailserver: '.' fehlt (z.B. '.de')"); 

  if (pos < 2) return MailError("MailServer: Name zu kurz"); 

  topdomain = mailserver.substr(pos);

  if ( topdomain.length <3) return MailError("Mailserver: Ende zu kurz"); 

  return true;
}


function getAlter2(reisedatum,datumalter) {
    datereisedatum = (new Date(reisedatum));
    geburtsdatum = (new Date(datumalter.replace(/\./g,"/")));
    var Jahr = datereisedatum.getYear();
    Alter = new String;
    var Alter =Math.floor(Jahr-(geburtsdatum.getYear()));
	
	if (Alter>2000) //Jahrtausendproblem ?
    {
    var Alter = Alter-2000;
    }
	if (Alter>1900) //Jahrtausendproblem ?
    {
    var Alter = Alter-1900;
    }
	return Alter
}

function getAlter(reisedatum,datumalter) {
    datereisedatum1 = (new Date(reisedatum));
	arrReisedatum =  reisedatum.split('/');
	datereisedatum = (new Date(arrReisedatum[1] + "/" + arrReisedatum[0] + "/"+ arrReisedatum[2]));
	
	
	arrdatumalter =  datumalter.split('.');
	geburtsdatum = (new Date(arrdatumalter[1] + "/" + arrdatumalter[0] + "/"+ arrdatumalter[2]));
	
    //geburtsdatum = (new Date(datumalter.replace(/\./g,"/")));
    Jahr = datereisedatum.getYear();
	var gebJahr = geburtsdatum.getYear();
    var gebMonat = geburtsdatum.getDay();
	var gebTag = datereisedatum.getMonth();
	checkdatum = (new Date(arrdatumalter[1] + "/" + arrdatumalter[0] + "/"+ arrReisedatum[2]));
	
	Alter = new String;
	if (checkdatum<=datereisedatum) {
    var Alter =Math.floor(Jahr-(geburtsdatum.getYear()));
    }else{
	var Alter =Math.floor(Jahr-(geburtsdatum.getYear())-1);
	}
	if (Alter>2000) //Jahrtausendproblem ?
    {
    var Alter = Alter-2000;
    }
	if (Alter>1900) //Jahrtausendproblem ?
    {
    var Alter = Alter-1900;
    }
    return Alter
}

function isDate(dateStr) {

var datePat = /^(\d{2})(\.)(\d{2})(\.)(\d{4})$/;
var matchArray = dateStr.match(datePat); // is the format ok?

if (matchArray == null) {
//alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
return false;
}

day = matchArray[1]; // p@rse date into variables
month = matchArray[3];
year = matchArray[5];

if (month < 1 || month > 12) { // check month range
//alert("Month must be between 1 and 12.");
return false;
}

if (day < 1 || day > 31) {
//alert("Day must be between 1 and 31.");
return false;
}

if ((month==4 || month==6 || month==9 || month==11) && day==31) {
//alert("Month "+month+" doesn`t have 31 days!")
return false;
}

if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day==29 && !isleap)) {
//alert("February " + year + " doesn`t have " + day + " days!");
return false;
}
}
return true; // date is valid
}
function isnumeric(strText) {
    var Pattter = /^(\d*)$/;
    var matchArray = strText.match(Pattter); // is the format ok?
    if (matchArray == null) {
    return false;
    }else{
    return true;
    }
}

function RaT(obj) {
    if (obj.checked) {
        window.document.buchen.P1_ANR.selectedIndex = window.document.buchen.R_ANR.selectedIndex;
        window.document.buchen.P1_NAME.value = window.document.buchen.R_NAME.value;
        window.document.buchen.P1_VNAME.value = window.document.buchen.R_VNAME.value;
    } else {
        window.document.buchen.P1_ANR.selectedIndex = "";
        window.document.buchen.P1_NAME.value = "";
        window.document.buchen.P1_VNAME.value = "";
    }
}
function AdrVeranst(VA) {
    Open_Window('http://www.lmweb.net/lmi/VA/' + VA + '.htm', "Veranstalter", "scrollbars=yes,menubar=yes,resizable=yes", 200, 300);
}

function checkBL(obj, objForm) {
    var objAjax = new Ajax.Request(
        '/container/bl.asp',
        {
            method: 'post',
            postBody: 'check=' + obj.value,
            onComplete: function(text) {
                if (text.responseText == "true") {
                    obj.style.backgroundColor = "#FFFFFF";
                    objForm.submit();
                } else {
                    obj.style.backgroundColor = "#FF0000";
                    printerr("Ihre Buchung konnte aus Sicherheitsgründen nicht durchgeführt werden.<br /> Bitte wenden Sie sich an unsere Urlaubsberater.");
                }
            },
            onFailure: function(test) {
                obj.style.backgroundColor = "#FF0000";
                printerr("Ihre Buchung konnte aus Sicherheitsgründen nicht durchgeführt werden.<br /> Bitte wenden Sie sich an unsere Urlaubsberater.");
            }
        }
        );
}