﻿
var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
var reNumber = /[0-9]/;

// ------------------------------------- REGEX DATE ------------------------------------------------------//
function CheckDate(datum)
{
    //(Schritt 1) Fehlerbehandlung
    if (!datum) return false;
    datum=datum.toString();

    //(Schritt 2) Aufspaltung des Datums
    datum=datum.split(".");
    if (datum.length!=3) return false;
    
    if(!datum[0].match(reNumber)) return false;
    if(!datum[1].match(reNumber)) return false;
    if(!datum[2].match(reNumber)) return false;
    
    //(Schritt 3) Entfernung der fuehrenden Nullen und Anpassung des Monats
    datum[0]=parseInt(datum[0],10);
    datum[1]=parseInt(datum[1],10)-1;

    //(Schritt 4) Behandlung Jahr nur zweistellig
    if (datum[2].length==2) datum[2]="20"+datum[2];
    
    // wenn länger als 4
    if(datum[2].length > 4) return false;

    //(Schritt 5) Erzeugung eines neuen Dateobjektes
    var kontrolldatum=new Date(datum[2],datum[1],datum[0]);

    //(Schritt 6) Vergleich, ob das eingegebene Datum gleich dem JS-Datum ist
    if (kontrolldatum.getDate()==datum[0] && kontrolldatum.getMonth()==datum[1] && kontrolldatum.getFullYear()==datum[2])
    return true; else return false;
}

// --------------------- CONTACT -------------------------- //
function CheckFormContact()
{
    var showEmailError = 0;
    var bEmail = false;
    var bDate1 = false;
    var bDate2 = false;
    
    if(document.getElementById("tbxName").value != '' && document.getElementById("tbxVorname").value != '' && document.getElementById("tbxEmail").value != '' && document.getElementById("tbxAnreise").value != '' && document.getElementById("tbxAbreise").value != '')
    {
        var sEmail = new String(document.getElementById("tbxEmail").value);
                
        if(sEmail.match(re))
        {
            bEmail = true;
            Effect.Fade('divEmail', {duration: 0.0});
        }
        else
        {
            bEmail = false;
            Effect.Appear('divEmail', {duration: 0.0});
            Effect.Fade('divError', {duration: 0.0});
        }
        
        if(CheckDate(document.getElementById("tbxAnreise").value))
        {
            bDate1 = true;
            Effect.Fade('divDate1', {duration: 0.0});
        }
        else
        {
            bDate1 = false;
            Effect.Appear('divDate1', {duration: 0.0});
        }
        
        if(CheckDate(document.getElementById("tbxAbreise").value))
        {
            bDate2 = true;
            Effect.Fade('divDate2', {duration: 0.0});
        }
        else
        {
            bDate2 = false;
            Effect.Appear('divDate2', {duration: 0.0});
        }
        
        if(bEmail && bDate1 && bDate2)
        {
            document.getElementById("btnSend").disabled = true; 
                       
            Effect.Appear('divSent', {duration: 0.0});
            Effect.Fade('divEmail', {duration: 0.0});
            Effect.Fade('divError', {duration: 0.0});
            
            SendFormContact();  
        }
    }
    else
    {
        Effect.Appear('divError', {duration: 0.0});
    }
}

function SendFormContact()
{
    ob_post.AddParam("bBooking", document.getElementById("chkBoxBooking").checked);
    
    ob_post.AddParam("sVorname", document.getElementById("tbxVorname").value);
    ob_post.AddParam("sName", document.getElementById("tbxName").value);
    ob_post.AddParam("sEmail", document.getElementById("tbxEmail").value);
    ob_post.AddParam("sComment", document.getElementById("tbxComment").value);
    ob_post.AddParam("sAnreise", document.getElementById("tbxAnreise").value);
    ob_post.AddParam("sAbreise", document.getElementById("tbxAbreise").value);
    ob_post.AddParam("sPersons", document.getElementById("cboPersons").value);
    
    ob_post.post(null, "SendEmail");
    
    document.getElementById("tbxVorname").value = '';
    document.getElementById("tbxName").value = '';
    document.getElementById("tbxEmail").value = '';
    document.getElementById("tbxComment").value = '';
    document.getElementById("tbxAnreise").value = '';
    document.getElementById("tbxAbreise").value = '';
}
