
var bCardID = true;
function showKeyPad()
{
    document.getElementById("confirmation").innerHTML = "";
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else
    {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function ()
    {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
            document.getElementById("KeyPad").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", "ajax/loginkeypad.php", true);

    xmlhttp.send();
}

function vClose(pDiv)
{
    bCardID = true;
    document.getElementById(pDiv).innerHTML = "";
}

function vClick(pInput, txInput)
{
    document.getElementById(pInput).value += txInput;
}

function vClear(pInput)
{
    document.getElementById(pInput).value = "";
}


function showprofile(id)
{
    if (id == "")
    {
        document.getElementById("KeyPad").innerHTML = "";
        return;
    }
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else
    {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function ()
    {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
            document.getElementById("KeyPad").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", "/AM/ajax/Ajax.php?&action=ShowProfiles&id=" + id, true);
    xmlhttp.send();
}


function showchildprofile(AccountID, Query)
{
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else
    {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function ()
    {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
            document.getElementById("KeyPad").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", "/AM/ajax/Ajax.php?&AccountID=" + AccountID + Query, true);
    xmlhttp.send();
}

function showprofileCard(id)
{
    if (id == "")
    {
        document.getElementById("KeyPad").innerHTML = "";
        return;
    }
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else
    {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function ()
    {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
            document.getElementById("KeyPad").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", "/AM/ajax/Ajax.php?&action=ShowProfiles&id=" + id, true);


    xmlhttp.send();
}

function CheckIn(ClassID, PBSID, Name, Area, StartTime, bAdd, category, WorkscheduleID)
{
//    temporaryDisable(ClassID);
    document.getElementById('SignedUp' + ClassID).disabled = true;
    if (ClassID == "")
    {
        return;
    }
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else
    {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function ()
    {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
            document.getElementById('LoadingCheckIn').innerHTML = "";

            document.getElementById('Classes').innerHTML = xmlhttp.responseText;
            $('#PrintButton').removeAttr("disabled");
            $('#PrintButton').removeClass("w3-disabled");
        }
    }
//    AddToJson(PBSID, ClassID, Name, Area, StartTime);
//    alert("ajax/checkin.php?ClassID=" + ClassID + '&PBSID=' + PBSID + '&bAdd=' + bAdd + '&category=' + category+ '&WorkscheduleID=' + WorkscheduleID);
//    temporaryDisable('PrintButton');
//                document.getElementById('JClasses').innerHTML = "";
    $('#PrintButton').attr("disabled", true);
    $('#PrintButton').addClass("w3-disabled");


    document.getElementById('LoadingCheckIn').innerHTML = "<i class='fa fa-refresh fa-spin' style='font-size:150px;color:green;'></i>";
    xmlhttp.open("GET", "ajax/checkin.php?ClassID=" + ClassID + '&PBSID=' + PBSID + '&bAdd=' + bAdd + '&category=' + category + '&WorkscheduleID=' + WorkscheduleID, true);

    xmlhttp.send();

}

function RegisterToClass(AccountID, Query)
{
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else
    {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function ()
    {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
           
        }
    }
    xmlhttp.open("GET", "/AM/ajax/Ajax.php?&AccountID=" + AccountID + Query, true);
    xmlhttp.send();
}


function SetCheckIn(ClassID)
{
    if (document.getElementById(ClassID).innerHTML == "")
    {
        document.getElementById(ClassID).innerHTML = "<img src='img/tick.png'>";

    } else
    {
        document.getElementById(ClassID).innerHTML = "";
    }
}

function showCreateTrial(AccountID)
{

    window.open("/webshop/SignupForTrialWeekCheckIn.php?AccountID=" + AccountID, '_blank');


}

function validateForm() {

    var x = document.forms["createtrial"]["Firstname"].value;
    if (x == null || x == "") {
        alert("First name must be filled out");
        document.forms["createtrial"]["Firstname"].focus();
        return false;
    }
    x = document.forms["createtrial"]["Lastname"].value;
    if (x == null || x == "") {
        alert("Last name must be filled out");
        document.forms["createtrial"]["Lastname"].focus();
        return false;
    }

    if (validatedate(document.forms["createtrial"]["DOB"]) == false)
    {
//        document.forms["createtrial"]["DOB"].focus();
        return false
    }

    x = document.forms["createtrial"]["Cell"].value;
    if (x == null || x == "") {
        alert("Cellphone must be filled out");
        document.forms["createtrial"]["Cell"].focus();
        return false;
    }

    x = document.forms["createtrial"]["Email"].value;
    var atpos = x.indexOf("@");
    var dotpos = x.lastIndexOf(".");
    if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= x.length) {
        alert("Not a valid e-mail address");
        document.forms["createtrial"]["Email"].focus();
        return false;
    }

    x = document.forms["createtrial"]["Email"].value;
    y = document.forms["createtrial"]["ConEmail"].value;
    if (x != y) {
        alert("Emails do not match!");
        document.forms["createtrial"]["Email"].focus();
        return false;
    }
    if (document.forms["createtrial"]["Confirm"].checked == false)
    {
        alert("Please confirm our conditions!");
        document.forms["createtrial"]["Confirm"].focus();
        return false;
    }
    el = document.getElementById("CreateBnt");
    el.setAttribute('class', 'w3-btn w3-round-large w3-xlarge w3-white w3-border w3-border-black w3-disabled');
    CreateTrial(document.forms["createtrial"]["Firstname"].value, document.forms["createtrial"]["Lastname"].value, document.forms["createtrial"]["DOB"].value, document.forms["createtrial"]["Cell"].value, document.forms["createtrial"]["Email"].value);
}



function validatedate(inputText)
{
    var dateformat = /^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/;


    // Match the date format through regular expression  
    if (inputText.value.match(dateformat))
    {
//        document.forms["createtrial"]["DOB"].focus();
        //Test which seperator is used '/' or '-'  
        var opera1 = inputText.value.split('/');
        var opera2 = inputText.value.split('-');
        lopera1 = opera1.length;
        lopera2 = opera2.length;
        // Extract the string into month, date and year  
        if (lopera1 > 1)
        {
            var pdate = inputText.value.split('/');
        } else if (lopera2 > 1)
        {
            var pdate = inputText.value.split('-');
        }
        var mm = parseInt(pdate[1]);
        var dd = parseInt(pdate[0]);
        var yy = parseInt(pdate[2]);
        // Create list of days of a month [assume there is no leap year by default]  
        var ListofDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
        if (mm == 1 || mm > 2)
        {
            if (dd > ListofDays[mm - 1])
            {
                alert('Invalid date format!');
                return false;
            }
        }
        if (mm == 2)
        {
            var lyear = false;
            if ((!(yy % 4) && yy % 100) || !(yy % 400))
            {
                lyear = true;
            }
            if ((lyear == false) && (dd >= 29))
            {
                alert('Invalid date format!');
                return false;
            }
            if ((lyear == true) && (dd > 29))
            {
                alert('Invalid date format!');
                return false;
            }
        }
    } else
    {
        alert("Wrong date format! It should be dd-mm-yyyy");
//        document.forms["createtrial"]["DOB"].focus();
        return false;
    }
    return true;
}



document.onkeypress = function (e) {
    if (bCardID)
    {
        ShowLoading();
        e = e || window.event;
        var charCode = (typeof e.which == "number") ? e.which : e.keyCode;
        document.getElementById('cardid').value += String.fromCharCode(e.charCode);
        if (charCode == 13) {

            // Do something here
            var str = document.getElementById('cardid').value;
            str = str.replace("_", "");
            str = str.replace("%", "");
            if (str.length > 2)
            {
                showprofileCard(str);
            }
            document.getElementById('cardid').value = "";
        }
    }
};



function temporaryDisable(el) {
    $('#' + el).attr("disabled", true);
    $('#' + el).fadeTo('slow', .6);
//    $('#' + el).attr('disabled',true);
}

function vPrint(URL)
{
    var JSONClasses = document.getElementById("JClasses").value;
    myObj = JSON.parse(document.getElementById("JClasses").value);
    if (myObj.Classes.length === 0) {
        alert("Du skal huske at vælge et hold!")
    } else {
        vClose('KeyPad');
        if (URL == "")
        {
            return;
        }
        if (window.XMLHttpRequest)
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else
        {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function ()
        {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
            {
                vClose('KeyPad');
            }
        }
        xmlhttp.open("GET", URL + "&JSON=" + JSONClasses, true);
//        xmlhttp.withCredentials = true;
//        xmlhttp.setRequestHeader("Content-Type", "application/json");
//        xmlhttp.send({'request': "authentication token"});
            xmlhttp.send();
    }
}

function AddToJson(PBSID, ClassID, Name, Area, StartTime) {
    myObj = JSON.parse(document.getElementById("JClasses").value);
    var bIN = false;
    for (i in myObj.Classes) {
        if (myObj.Classes[i]["ClassID"] == ClassID) {
            myObj.Classes.splice(i, 1);
            bIN = true;
        }
    }
    if (bIN == false) {

        myObj.Classes.push(
                {PBSID: PBSID, ClassID: ClassID, Class: Name, Area: Area, StartTime: StartTime}
        );
    }
    //    alert(JSON.stringify(myObj));

    document.getElementById("JClasses").value = JSON.stringify(myObj);
    //      alert(document.getElementById("JClasses").value);
}
function CheckPhone(Cell, AccountID)
{
    var phone = $("input#Cell").val();
    if (phone !== "" && !$.isNumeric(phone)) {
        //Check if phone is numeric
        alert("Kun tal. Ingen mellemrum osv!");
//  $("label#phone_error").show(); //Show error
        $("input#Cell").focus(); //Focus on field
        return false;
    }

    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else
    {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function ()
    {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
            document.getElementById("ProfileAlert").innerHTML += xmlhttp.responseText;
            if (xmlhttp.responseText.length != 0)
                document.getElementById("CreateBnt").disabled = true;
        }
    }

    xmlhttp.open("GET", "/AM/ajax/AjaxCheckProfile.php?CellPhone=" + Cell.value + "&AccountID=" + AccountID, true);

    xmlhttp.send();
}

function CheckEmail(Email, AccountID)
{
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else
    {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function ()
    {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
        {
            document.getElementById("ProfileAlert").innerHTML += xmlhttp.responseText;
            if (xmlhttp.responseText.length != 0)
                document.getElementById("CreateBnt").disabled = true;
        }
    }
    xmlhttp.open("GET", "/AM/ajax/AjaxCheckProfileEmail.php?Email=" + Email.value + "&AccountID=" + AccountID, true);

    xmlhttp.send();
}

function LoadTakePicture(PBSID)
{
    window.open("../../AM/upload/TakePhoto.php?PBSID=" + PBSID);
}


function vShowModal(infoSendt, InfoText, Print)
{
    if (infoSendt == 1) {
        // Get the modal
        var modal = document.getElementById('myModal');
        modal.style.display = "block";
        // Get the <span> element that closes the modal

        var DisplayText = document.getElementById('caption');
        DisplayText.innerHTML = InfoText;
        var span = document.getElementsByClassName("close")[0];

        // When the user clicks on <span> (x), close the modal
        span.onclick = function () {
            modal.style.display = "none";
        }
        vClose('KeyPad');
        return false;

    } else
    {
        vPrint(Print);
        return true;
    }




}


function validateFormNew() {
    var x = document.forms["createtrial"]["Firstname"].value;
    if (x == null || x == "") {
        alert("First name must be filled out");
        document.forms["createtrial"]["Firstname"].focus();
        return false;
    }
    x = document.forms["createtrial"]["Lastname"].value;
    if (x == null || x == "") {
        alert("Last name must be filled out");
        document.forms["createtrial"]["Lastname"].focus();
        return false;
    }
    x = document.forms["createtrial"]["pDOB"].value;

    if (x == null || x == "") {
        {
            alert("Date of birth most be filled out");
            document.forms["createtrial"]["pDOB"].focus();
            return false
        }
    }

    if (underAgeValidate(x) == false) {
        alert("Age must be over 11 years. Kids have to sign up on the waitinglist!");
        document.forms["createtrial"]["pDOB"].focus();
        return false;
    }

    x = document.forms["createtrial"]["Cell"].value;
    if (x == null || x == "") {
        alert("Cellphone must be filled out");
        document.forms["createtrial"]["Cell"].focus();
        return false;
    }

    x = document.forms["createtrial"]["Email"].value;
    var atpos = x.indexOf("@");
    var dotpos = x.lastIndexOf(".");
    if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= x.length) {
        alert("Not a valid e-mail address");
        document.forms["createtrial"]["Email"].focus();
        return false;
    }

    x = document.forms["createtrial"]["Email"].value;
    y = document.forms["createtrial"]["ConEmail"].value;
    if (x != y) {
        alert("Emails do not match!");
        document.forms["createtrial"]["Email"].focus();
        return false;
    }

    x = document.forms["createtrial"]["SignUpDate"].value;

    if (x == null || x == "") {
        {
            alert("Date of Start date most be filled out");
            document.forms["createtrial"]["SignUpDate"].focus();
            return false
        }
    }





    x = document.forms["createtrial"]["checkq"].value;

    if (x == null || x == "" || x != "10") {
        {
            alert("Wrong answer!");
            document.forms["createtrial"]["checkq"].focus();
            return false
        }
    }

    if (document.forms["createtrial"]["Confirm"].checked == false)
    {
        alert("Please confirm our conditions!");
        document.forms["createtrial"]["Confirm"].focus();
        return false;
    }


    el = document.getElementById("CreateBnt");
    el.setAttribute('class', 'w3-btn w3-round-large w3-xlarge w3-white w3-border w3-border-black w3-disabled');
}

function underAgeValidate(birthday) {
    var regex = /(((0|1)[0-9]|2[0-9]|3[0-1])\-(0[1-9]|1[0-2])\-((19|20)\d\d))$/;

    //Check whether valid dd/MM/yyyy Date Format.
    if (regex.test(birthday)) {
        var parts = birthday.split("-");
        var dtDOB = new Date(parts[1] + "/" + parts[0] + "/" + parts[2]);

        var dtCurrent = new Date();
        if (dtCurrent.getFullYear() - dtDOB.getFullYear() < 11) {
            return false;
        }
        if (dtCurrent.getFullYear() - dtDOB.getFullYear() == 12) {

            //CD: 11/06/2018 and DB: 15/07/2000. Will turned 18 on 15/07/2018.
            if (dtCurrent.getMonth() < dtDOB.getMonth()) {
                return false;
            }
            if (dtCurrent.getMonth() == dtDOB.getMonth()) {
                //CD: 11/06/2018 and DB: 15/06/2000. Will turned 18 on 15/06/2018.
                if (dtCurrent.getDate() < dtDOB.getDate()) {
                    return false;
                }
            }
        }
        return true;
    } else {
        return false;
    }

} 