﻿$(function() {
    // Initialisatie Lightbox
    $('a.lightbox').lightBox(); // Select all links with lightbox class
    
    if ($("#tekstoplint1").length > 0) {
        // lengte beperking van rouwtekst
        $("#tekstoplint1").keydown(checkMaxLength)
                            .keyup(updateText)
                            .keyup(checkMaxLengthUp)
                            .focus(checkMaxLength);
    }
    if ($("#tekstoplint2").length > 0) {
        $("#tekstoplint2").keydown(checkMaxLength)
                            .keyup(updateText)
                            .keyup(checkMaxLengthUp)
                            .focus(checkMaxLength);
    }
});

// Checks the maxValue (keydown)
function checkMaxLength(event) {
    /*
        Keys:
        8               = Backspace
        37, 38, 39, 40  = Arrow keys (L,U,R,D)
        46              = Delete
    */
    var ignore = [8,37,38,39,40,46];
    
    
    var maxLength = $("#tekstoplint1").attr("data-textlength");
    
    // To many chars
    if (($(this).val().length == maxLength) && $.inArray(event.which, ignore) == -1) // 8 = backspace
    {
        return false;
    }
}

// Check the maxValue (keyup)
// Can happen when someone pastes a text
function checkMaxLengthUp() {
    var maxLength = $("#tekstoplint1").attr("data-textlength");
    if ($(this).val().length > maxLength) {
        $(this).val($(this).val().substring(0, maxLength));
    }
}

// Update the text (keyup)
function updateText() {
    var id = $(this).attr("objId");
    var maxLength = $("#tekstoplint1").attr("data-textlength");
   
    // Write text
    if($("#maxTekst" + id).length > 0) {
        setText($(this).val().length, id, maxLength);
    }
}

// Set the text (keyup)
function setText(number, id, maxLength) {
    if (number == maxLength) {
        $("#maxTekst" + id).html("maximale aantal tekens bereikt");
    }
    else{
        $("#maxTekst" + id).html("");
    }
}

// JScript File
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function changeurl()
{
    var extraOpt = ''
    extraOpt += '&tekstoplint1=' + $("#tekstoplint1").val();
    if ($("#tekstoplint2").length != 0) {
        extraOpt += '&tekstoplint2=' + $("#tekstoplint2").val();
    }

    $("#bestellink").attr("href", $("#bestellink").attr("href") + extraOpt);
  //document.getElementById('bestellink').href += '&tekstoplint1='+ document.getElementById('tekstoplint').value
return;
}


function toggleAnderLeverAdres(value)
{
  var obj = document.getElementById('anderLeverAdresTable');
    
    if (value == 1) 
    {
      obj.style.display = "block";

      document.getElementById('afleveraanhef').value = document.getElementById('aanhef').value;
      document.getElementById('aflevernaam').value = document.getElementById('naam').value;
    }
    else
    {
      obj.style.display = "none";
    }
}

  function controleerBetaalingsmethode() 
  {
    var betaalmethoden;

    if (document.MM_returnValue == true) 
    {
      betaalmethoden = MM_findObj('betaalmethoden').value;

      if (betaalmethoden == "") 
      {
        document.MM_returnValue = false;
        alert("U dient een betaalwijze te selecteren!");
      }
    }
}

function ValidateFormInputFields() 
{
    if (document.validatemessage == undefined) 
    {
        document.validatemessage = 'U heeft nog niet alle velden correct ingevuld. Vult u de gekleurde velden a.u.b. correct in.';
    }
    
    var kleur = 'CCF871';

    if (document.veldkleur != undefined) 
    {
        kleur = document.veldkleur;
    }

    var i, p, q, nm, test, num, min, max, errors = '', args = ValidateFormInputFields.arguments;

    for (i = 0; i < (args.length - 2); i += 3) 
    {
        test = args[i + 2]; val = MM_findObj(args[i]);

        if (test.indexOf('isCheckArray') != -1) 
        {
            var qr; var aantalnietdoorlopen;

            for (qr = 0; qr < MM_findObj(args[i]).length; qr++) 
            {
                if (MM_findObj(args[i])[qr].checked == true) 
                {
                    val = MM_findObj(args[i])[qr].value;
                }
                else 
                {
                    aantalnietdoorlopen++; 
                }
            }

            if (val == "[object NodeList]" || val == "[object]") 
            {
                errors += "- " + MM_findObj(args[i]) + " heeft geen waardie die geselecteerd is.";

                for (qr = 0; qr < MM_findObj(args[i]).length; qr++) 
                {
                    MM_findObj(args[i])[qr].style.backgroundColor = kleur; 
                }
            }
        } 
        else if (test.indexOf('isCheckbox') != -1) 
        {
            if (MM_findObj(args[i]).checked == false) 
            {
                errors += '- ' + MM_findObj(args[i]).name + ' is niet aangevinkt.\n';
                MM_findObj(args[i]).style.backgroundColor = kleur; 
            }
        } 
        else if (test.indexOf('isDropDown') != -1) 
        {
            if (MM_findObj(args[i]).selectedIndex == 0) 
            {
                errors += "- " + MM_findObj(args[i]).name + ' is geen item geselecteerd\n';
                MM_findObj(args[i]).style.backgroundColor = kleur; 
            }
        } 
        else if (test.indexOf('isRadio') != -1) 
        {
            var qr; var aantalnietdoorlopen;

            for (qr = 0; qr < MM_findObj(args[i]).length; qr++) 
            {
                if (MM_findObj(args[i])[qr].checked == true) 
                {
                    val = MM_findObj(args[i])[qr].value;
                } 
                else 
                {
                    aantalnietdoorlopen++; 
                }
            }

            if (val == "[object NodeList]" || val == "[object]") 
            {
                errors += "- " + MM_findObj(args[i]) + " heeft geen waardie die geselecteerd is.";

                for (qr = 0; qr < MM_findObj(args[i]).length; qr++) 
                {
                    MM_findObj(args[i])[qr].style.backgroundColor = kleur; 
                }
            }
        }
        else if (val) 
        {
            nm = val.name; 
            
            if ((val = val.value) != "") 
            {
                if (test.indexOf('isEmail') != -1) 
                {
                    p = val.indexOf('@');
                    
                    if (p < 1 || p == (val.length - 1)) 
                    {
                        MM_findObj(nm).style.backgroundColor = kleur;
                        MM_findObj(nm).value = 'geen geldig e-mail adres';
                        errors += '- ' + nm + ' bevat geen geldig e-mail adres.\n'; 
                    }
                }
                else if (test != 'R') 
                {
                    num = parseFloat(val);

                    if (isNaN(val)) 
                    {
                        errors += '- ' + nm + ' must contain a number.\n';
                    }

                    if (test.indexOf('inRange') != -1) 
                    {
                        p = test.indexOf(':');
                        min = test.substring(8, p); max = test.substring(p + 1);

                        if (num < min || max < num) 
                        {
                            errors += '- ' + nm + ' must contain a number between ' + min + ' and ' + max + '.\n';
                        }
                    } 
                }
            }
            else if (test.charAt(0) == 'R') 
            {
                MM_findObj(nm).style.backgroundColor = kleur; errors += '- ' + nm + ' is niet ingevuld.\n'; 
            } 
        }
    }

    if (errors != '') {
        if (errors.indexOf("akkoordmetleveringsvoorwaarden") >= 0) {
        $(".agreeTerms").css("border","1px solid #CC0000");
        } else {
            $(".agreeTerms").css("border","none");
        }
    } else {
        $(".agreeTerms").css("border","none");
    }

    if (errors) 
    {
        if (document.validatemessage != 'niettonen') 
        {
            alert(document.validatemessage);
        }
    }
    
    
    
    document.validatemessage = 'U heeft nog niet alle velden correct ingevuld. Vult u de gekleurde velden a.u.b. correct in.';
    
    
    
    document.MM_returnValue = (errors == '');
}

$(document).ready(function() {
    $("#aspnetForm").validate();
    //    $("#aspnetForm").validate({
    //        errorPlacement: function(error, element) {
    //            error.appendTo(element.parent("div").next("div"));
    //        },
    //        rules:
    //                        {
    //                            jclc_password: { minlength: 4 },
    //                            jclc_password_check: { equalTo: "#jclc_password" },
    //                            jclc_emailfirst_check: { equalTo: "#jclc_emailfirst" }
    //                        }
    //    });
});

function submitForm() {
    if ($('#aspnetForm').valid()) {
        $('#aspnetForm').submit();
    }
}
