﻿// VALIDATION
function validateTextbox(events, args) {
    var label = events.parentNode.children[0];
    var input = events.parentNode.children[1];
    var warning = events.parentNode.children[2];

    if (input.value == "") {
        warning.className = "right show";
        label.className = "detailsLeft red";
        $(input).addClass("borderRed");
        args.IsValid = false;
    }
    else {
        warning.className = "right hidden";
        label.className = "detailsLeft";
        $(input).removeClass("borderRed");
        args.IsValid = true;
    }
}

function validateAgreement(events, args) {
    var chk = events.parentNode.children[0];
    var label = events.parentNode.children[1];

    if ($(chk).is(':checked') == false) {
        $(label).addClass("red");
        args.IsValid = false;

    } else {
        $(label).removeClass("red");
        args.IsValid = true;
    }

}

function validateTextboxStep2(events, args) {
    var label1 = events.parentNode.parentNode.children[0];
    var label2 = events.parentNode.parentNode.children[1];
    var input = events.parentNode.children[1];
    var warning = events.parentNode.children[2];

    if (input.value == "") {
        warning.className = "right show";
        label1.className = "questionLabel red";
        label2.className = "moreinfo red";
        $(input).addClass("borderRed");
        args.IsValid = false;
    }
    else {
        warning.className = "right hidden";
        label1.className = "questionLabel";
        label2.className = "moreinfo";
        $(input).removeClass("borderRed");
        args.IsValid = true;
    }
}

function validateURL(events, args) {
    var label1 = events.parentNode.parentNode.children[0];
    var label2 = events.parentNode.parentNode.children[1];
    var input = events.parentNode.children[1];
    var warning = events.parentNode.children[2];

    var reg = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/; 
    
    if (input.value == "" || reg.test(input.value) == false) {
        warning.className = "right show";
        $(label1).addClass("red");
        $(label2).addClass("red");
        $(input).addClass("borderRed");
        args.IsValid = false;
    }
    else {
        warning.className = "right hidden";
        $(label1).removeClass("red");
        $(label2).removeClass("red");
        $(input).removeClass("borderRed");
        args.IsValid = true;
    }
}

function validateURL2(events, args) {
    var label = events.parentNode.children[0];
    var input = events.parentNode.children[1];
    var warning = events.parentNode.children[2];

    var reg = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;

    if (input.value == "" || reg.test(input.value) == false) {
        warning.className = "right show";
        label.children[0].className = "labelBlue red";
        label.children[1].className = "moreinfo red";
        $(input).addClass("borderRed");
        args.IsValid = false;
    }
    else {
        warning.className = "right hidden";
        label.children[0].className = "labelBlue";
        label.children[1].className = "moreinfo";
        $(input).removeClass("borderRed");
        args.IsValid = true;
    }
}

function validateItems(events, args) {
    var question = events.parentNode.parentNode;
    var answer = events.parentNode;
    var label = events.parentNode.children[0];
    var input = events.parentNode.children[1];
    var warning = events.parentNode.children[2];

    var i;
    for (i = 0; i < answer.childNodes.length; i++) {
        if (answer.childNodes[i].type == 'text' && answer.childNodes[i].value == "") {
            answer.childNodes[i].className = "textbox borderRed";
            args.IsValid = false;
        }
        else if (answer.childNodes[i].type == 'text' && answer.childNodes[i].value != "") {
            args.IsValid = true;
            if (answer.childNodes[i].type == 'text') {
                answer.childNodes[i].className = "textbox";
            }
        }

        if (!args.IsValid) {
            if (answer.childNodes[i].className == 'right hidden') {
                answer.childNodes[i].className = "right show"
            }
        } else {
            if (answer.childNodes[i].className == 'right show') {
                answer.childNodes[i].className = "right hidden"
            }
        }
    }

    // the question
    var mainquestion = document.getElementById("Stap2Vraag5");
    if (!args.IsValid) {
        question.children[0].className = "red";
        $(mainquestion).children().addClass("red");
    }
    else {
        question.children[0].className = "";
        $(mainquestion).children().removeClass("red");
    }
}

function validateTextboxHuisnummer(events, args) {
    var label = events.parentNode.parentNode.children[0];
    var input = events.parentNode.children[0];
    var warning = events.parentNode.parentNode.children[2];

    if (input.value == "") {
        warning.className = "right show";
        label.className = "detailsLeft red";
        $(input).addClass("borderRed");
        args.IsValid = false;
    }
    else {
        warning.className = "right hidden";
        label.className = "detailsLeft";
        $(input).removeClass("borderRed");
        args.IsValid = true;
    }
}

function validateEmail(events, args) {
    var label = events.parentNode.children[0];
    var input = events.parentNode.children[1];
    var warning = events.parentNode.children[2];

    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if (input.value == "" || reg.test(input.value) == false) {
        warning.className = "right show";
        label.className = "detailsLeft red";
        $(input).addClass("borderRed");
        args.IsValid = false;
    }
    else {
        warning.className = "right hidden";
        label.className = "detailsLeft";
        $(input).removeClass("borderRed");
        args.IsValid = true;
    }
}

function validateDropDown(events, args) {
    var parent = events.parentNode;
    var label = events.parentNode.children[0];
    var select = events.parentNode.children[1];
    var warning = events.parentNode.children[2];

    if (select.value == "") {
        warning.className = "right show";
        $(parent).addClass("invalid");
        label.className = "detailsLeft red";
        args.IsValid = false;
    }
    else {
        warning.className = "right hidden";
        $(parent).removeClass("invalid");
        parent.className = "details";
        label.className = "detailsLeft";
        args.IsValid = true;
    }
}


function PrintContents(id) {
    var control = $get(id);
    var width = 250;
    var height = 65;
    var posX = (screen.width - width) / 2;
    var posY = (screen.height - height) / 2;
    var settings = 'height=' + height + ',';
    settings += 'width=' + width + ',';
    settings += 'top=' + posY + ',';
    settings += 'left=' + (posX - 250) + ',';
    settings += 'scrollbars=no,';
    settings += 'resizable=no';

    var WindowObject = window.open('', 'Print', settings);
    var header = "<html><head><title>Print</title><style type=\"text/css\">" +
                 "body{font-family:Arial;font-size:12px;color:#4c4c4c;padding:10px;}" +
                 "table{border-style: none; border-collapse: collapse;}"  +
                 "th{text-align:left;padding:5px;border:1px solid black;}" +
                 "td{padding:5px;border:1px solid #f4f4f4;font-size:12px;}" +
                 "a{font-family:Arial;font-size:12px;color:#242424;text-decoration:underline;}" +
                 "a:hover{text-decoration:none;}" +
                 "h1{font-family:Trebuchet MS;font-size:22px;color:#ff7e00;font-weight:bold;margin-bottom:10px;}" +
                 "h3 { font-size: 15px; color: #0066a4; margin:10px 0; }" +
                 ".fix { width: 60%;}" +
                 "</style>" +
                 "</head><body>";
    var footer = "</body></html>";
    var html = header + control.innerHTML + footer;

    WindowObject.document.write(html);
    WindowObject.document.close();
    WindowObject.focus();
    WindowObject.print();
    WindowObject.close();
}

// VALIDATION
function validateCheckBoxes(events, args) {
    var question = events.parentNode;
    var label = events.parentNode.children[0];
    var moreinfo = events.parentNode.children[1];
    var warning = events.parentNode.children[2];

    var count = 0;
    $("#" + question.id + " input[type=checkbox]").each(function (index, domEle) {
        if ($(domEle).is(':checked') == true) {
            //$(domEle).prev().children(".textbox").addClass("borderRed");
            count++;
        }
    });

    if (count > 0) {
        $(label).removeClass("red");
        $(moreinfo).removeClass("red");
        $(warning).addClass("hidden");
        args.IsValid = true;
    }
    else {
        $(label).addClass("red");
        $(moreinfo).addClass("red");
        $(warning).removeClass("hidden");
        args.IsValid = false;
    }
}
