function bestel(id){
    var url = "/bestellen/add?pd=";
    window.setTimeout("document.location='"+url+id+"'",650);
}


function validAanvulling(){
    var form    = document.aanvullingFrm;
    var valid   = true;

    if(valid && form.maat.type.substr(0,6)=="select" && form.maat[0].selected){
        alert("U dient een maat te selecteren.");
        valid = false;
    }
    if(valid && form.kleur.type.substr(0,6)=="select" && form.kleur[0].selected){
        alert("U dient een kleur te selecteren.");
        valid = false;
    }
    if(valid && form.aantal.value<1){
        alert("U dient een aantal in te vullen.");
        valid = false;
    }

    if(valid && form.aantal.value<form.min_afname.value){
//        alert("Minimale bestelhoeveelheid is "+form.min_afname.value+" stuks.");
//        valid = false;
    }

    if(valid){
        form.action = "";
        form.method = "post";
        form.submit();
    }
}
function validAfwerking(back,verwijder){
    var form    = document.afwerkingFrm;

    if(back!=undefined){
        form.redirect.value = back;
    }
    if(verwijder!=undefined){
        form.verwijder.value = verwijder;
    }

    form.action = "";
    form.method = "post";
    form.submit();
}

var soort = "";
var error    = "#c20101";
var ok       = "#666666";
var okBorder = "#CCCCCC";

var fields_zakelijk  = new Array("bedrijfsnaam","contactpersoon","kvknr","btwnr");
var fields           = new Array("straat","huisnr","woonplaats");
function showGegevens(_soort){
    document.getElementById("gegevens").style.display = "block";
    soort       = _soort;
    document.gegevensFrm.soort.value = _soort;
    var display = _soort=="particulier"?"none":"block";
    for(var i=0;i<fields_zakelijk.length;i++){
        document.getElementById("lbl"+fields_zakelijk[i]).style.display = display;
    }
    document.getElementById("lblachternaam").style.display = display=="none"?"block":"none";
    document.getElementById("lblvoorletters").style.display = display=="none"?"block":"none";


    for(var i=0;i<fields.length;i++){
        document.getElementById("lbl"+fields[i]).style.color = ok;
        document.gegevensFrm[fields[i]].style.borderColor = okBorder;
    }
    for(var j=0;j<fields_zakelijk.length;j++){
        document.getElementById("lbl"+fields_zakelijk[j]).style.color = ok;
        document.gegevensFrm[fields_zakelijk[j]].style.borderColor = okBorder;
    }

    document.getElementById("faktuuradres").style.display   = "none";
//    document.getElementById("innercontainer").style.height  = "900px";
//    document.getElementById("footer").style.position        = "absolute";
//    document.getElementById("footer").style.bottom          = "0px";
}

var fields_offerte   = new Array("bedrijfsnaam","telefoonnummer");
function showFaktuuradres(show){
    //    document.getElementById("gegevens").style.display       = "none";
    if(show==false){
        document.getElementById("faktuuradres").style.display   = "none";
        document.gegevensFrm.faktuurstraat.value            = "";
        document.gegevensFrm.faktuurhuisnr.value            = "";
        document.gegevensFrm.faktuurpostcode.value         = "";
        document.gegevensFrm.faktuurwoonplaats.value       = "";
        document.gegevensFrm.faktuurtelefoonnummer.value   = "";
    }
    else{
        document.getElementById("faktuuradres").style.display   = "block";
    }
}
function changePayment(){
    var form     = document.gegevensFrm;
    if(form.betaalwijze.value == "iDEAL"){
        document.getElementById("lblideal").style.display   = "block";
    }
    else{
        form.issuerID.selectedIndex = 0;
        document.getElementById("lblideal").style.display   = "none";
    }
}
function changeVerzendkosten(type) {
    document.getElementById("pakketpost").style.display   = "none";
    document.getElementById("verzekerd").style.display   = "none";
    document.getElementById("rembours").style.display   = "none";
    if(type == "Pakketpost") {
        document.getElementById("pakketpost").style.display   = "block";
        newtotal = total + 10.00;
        document.getElementById("total").innerHTML = number_format(newtotal, 2, ",", ".");
    } else if(type == "Extra verzekerd") {
        document.getElementById("pakketpost").style.display   = "block";
        document.getElementById("verzekerd").style.display   = "block";
        newtotal = total + 15.95;
        document.getElementById("total").innerHTML = number_format(newtotal, 2, ",", ".");
    } else if(type == "Onder rembours") {
        document.getElementById("pakketpost").style.display   = "block";
        document.getElementById("rembours").style.display   = "block";
        newtotal = total + 20.95;
        document.getElementById("total").innerHTML = number_format(newtotal, 2, ",", ".");
    } else {
        document.getElementById("total").innerHTML = number_format(total, 2, ",", ".");
    }
}
function number_format (number, decimals, dec_point, thousands_sep) {
    var n = number, prec = decimals;

    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };

    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;

    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;

    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;

        _[0] = s.slice(0,i + (n < 0)) +
        _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }

    var decPos = s.indexOf(dec);
    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}
function validGegevens(back){
    var valid    = true;
    var form     = document.gegevensFrm;

    if(!back){
        for(var i=0;i<fields.length;i++){
            if (fields[i] == "straat" || fields[i] == "huisnr")
                _label = "adres";
            else if (fields[i] == "faktuurstraat" || fields[i] == "faktuurhuisnr")
                _label = "adres";
            else
                _label = fields[i];
            if(!validNotNull(form[fields[i]])){
                valid = false;
                document.getElementById("lbl"+_label).style.color = error;
                form[fields[i]].style.borderColor = error;
            }
            else{
                document.getElementById("lbl"+_label).style.color = ok;
                form[fields[i]].style.borderColor = okBorder;
            }
        }
        if(!validNotNull(form["voorletters"])){
            valid = false;
            document.getElementById("lblvoorletters").style.color = error;
            form["voorletters"].style.borderColor = error;
        }
        else{
            document.getElementById("lblvoorletters").style.color = ok;
            form["voorletters"].style.borderColor = okBorder;
        }
        if(!validNotNull(form["achternaam"])){
            valid = false;
            document.getElementById("lblachternaam").style.color = error;
            form["achternaam"].style.borderColor = error;
        }
        else{
            document.getElementById("lblachternaam").style.color = ok;
            form["achternaam"].style.borderColor = okBorder;
        }
        if(!validPostcode(form["postcode"])){
            valid = false;
            document.getElementById("lblpostcode").style.color = error;
            form["postcode"].style.borderColor = error;
        }
        else{
            document.getElementById("lblpostcode").style.color = ok;
            form["postcode"].style.borderColor = okBorder;
        }
        if(!validTelefoon(form["telefoonnummer"])){
            valid = false;
            document.getElementById("lbltelefoonnummer").style.color = error;
            form["telefoonnummer"].style.borderColor = error;
        }
        else{
            document.getElementById("lbltelefoonnummer").style.color = ok;
            form["telefoonnummer"].style.borderColor = okBorder;
        }

        if(!isValidEmail(form["emailadres"].value)){
            valid = false;
            document.getElementById("lblemailadres").style.color = error;
            form["emailadres"].style.borderColor = error;
        }
        else{
            document.getElementById("lblemailadres").style.color = ok;
            form["emailadres"].style.borderColor = okBorder;
        }

    }
    if(valid)
    {
        if(!back && document.gegevensFrm.voorwaardenbevestigd.checked == false){
            alert("U dient akkoord te gaan met de voorwaarden.");
        }
        else
        {
            //form.redirect.value = !back?"/bestellen/bevestigen":"/bestellen/overzicht";
            form.action = "?";
            form.method = "post";
            form.submit();
        }
    }
    else{
        alert("Alle rode velden dienen correct ingevuld te worden.");
    }
}
function validOfferte(){
    var valid    = true;
    var form     = document.gegevensFrm;

    for(var i=0;i<fields_offerte.length;i++){
        if(form[fields_offerte[i]].value == ""){
            valid = false;
            document.getElementById("lbl"+fields_offerte[i]).style.color = error;
            form[fields_offerte[i]].style.borderColor = error;
        }
        else{
            document.getElementById("lbl"+fields_offerte[i]).style.color = ok;
            form[fields_offerte[i]].style.borderColor = okBorder;
        }
    }
    if(form["voorletters"].value == ""){
        valid = false;
        document.getElementById("lblvoorletters").style.color = error;
        form["voorletters"].style.borderColor = error;
    }
    else{
        document.getElementById("lblvoorletters").style.color = ok;
        form["voorletters"].style.borderColor = okBorder;
    }
    if(form["achternaam"].value == ""){
        valid = false;
        document.getElementById("lblachternaam").style.color = error;
        form["achternaam"].style.borderColor = error;
    }
    else{
        document.getElementById("lblachternaam").style.color = ok;
        form["achternaam"].style.borderColor = okBorder;
    }

    if(!isValidEmail(form["emailadres"].value)){
        valid = false;
        document.getElementById("lblemailadres").style.color = error;
        form["emailadres"].style.borderColor = error;
    }
    else{
        document.getElementById("lblemailadres").style.color = ok;
        form["emailadres"].style.borderColor = okBorder;
    }

    if(valid)
    {
        form.action = "";
        form.method = "post";
        form.submit();
    }
    else{
        alert("Alle rode velden dienen correct ingevuld te worden.");
    }
}

function otherFile(){
    document.getElementById("filename").style.display = "none";
    document.gegevensFrm.file.style.display = "inline-block";
}

function isValidEmail(str) {
    AtPos   = str.indexOf("@");
    StopPos = str.lastIndexOf(".");
    if ((StopPos == -1 || AtPos == -1 || StopPos < AtPos))
    {
        return false;
    }

    return true;
}
function validBestel(){
    var form = document.bestelFrm;
    form.orderbevestigd.value = "Y";
    form.action = "";
    form.method = "post";
    form.submit();
}


var Product = function() {};
Product.prototype = {
    price:0,
    priceTable: new Array(),
    initialize: function(sizes,colors,price){
        var sizeArray   = sizes.split(",");
        var colorArray  = colors.split(",");

        this.price = price;
        this.priceTable["Kies maat"] = new Array();
        this.priceTable["Kies maat"]["Kies kleur"] = 0;
        this.priceTable["########"] = new Array();
        this.priceTable["########"]["########"] = 0;

        for(var i=0;i<sizeArray.length;i++){
            this.priceTable[sizeArray[i]] = new Array();
            this.priceTable[sizeArray[i]]["Kies kleur"] = 0;
            this.priceTable[sizeArray[i]]["########"] = 0;

            for(var j=0;j<colorArray.length;j++){
                this.priceTable[sizeArray[i]][colorArray[j]] = 0;
                this.priceTable["Kies maat"][colorArray[j]] = 0;
                this.priceTable["Kies maat"]["########"] = 0;
            }
        }
    },
    changePrice: function(maat,kleur,price){
        for(var i in this.priceTable){
            for(var j in this.priceTable[i]){
                if(i==maat || j==kleur){
                    this.priceTable[i][j] = (parseInt(this.priceTable[i][j]*100)+parseInt(price*100))/100;
                }
            }
        }
    //        this.priceTable[maat][kleur] = price;
    },
    showTotalPrice: function(){
        var kleur   = document.aanvullingFrm.kleur.value;
        var maat    = document.aanvullingFrm.maat.value;
        var aantal  = document.aanvullingFrm.aantal.value;

        var totalPrice = ((aantal*(product.price*100+product.priceTable[maat][kleur]*100))/100)/1.19;//(aantal * ((product.price*100)+(product.priceTable[maat][kleur]*100)))/100;
        document.getElementById("totalprice").innerHTML = totalPrice.toFixed(2).toString().replace(".",",");
    }
};

function validNotNull(element){
    if(element.value!=""){
        return true;
    }
    else{
        return false;
    }
}
function validAlwaysChecked(collection){
    var valid = false;
    for(var i = 0; i < collection.length; i++){
        valid = collection[i].checked;
        if(valid){
            break;
        }
    }

    return valid;
}
function validTelefoon(element){
    var valid = validNotNull(element);

    if(element.value.toString().replace(/\D/g,"").length==10 || (element.value.toString().replace(/\D/g,"").length==11 || element.value.toString().replace(/\D/g,"").length==13)){
        element.value = element.value.toString().replace(/[a-zA-Z*]/g,"");
        valid = true;
    }
    else{
        valid = false;
    }

    return valid;
}
function validEmail(element){
    var valid = validNotNull(element);

    AtPos   = element.value.indexOf("@");
    StopPos = element.value.lastIndexOf(".");
    if ((StopPos == -1 || AtPos == -1 || StopPos < AtPos) && valid)
    {
        valid = false;
    }

    return valid;
}
function valid11proef(element){
    var valid = validNotNull(element);
    var banknummer  = element.value.toString().replace(/\D/g,"");

    if(banknummer.length > 2 && banknummer.length < 9){
        valid = true;
    }
    else if(banknummer.length == 9){
        var som = 0;
        for (var i = 1; i < 10; i++)
        {
            var number = banknummer.charAt(i-1);
            som += number * (10-i);
        }

        if (som % 11==0)
        {
            valid = true;
        }
    }

    return valid;
}
function validPostcode(element){
    var valid = validNotNull(element);

    if(element.value.toString().replace(/ /g,"").length == 6 || element.value.toString().replace(/ /g,"").length == 4){
        var postcode = element.value.split("");
        if((parseInt(postcode[0])/1 == postcode[0]/1) && (parseInt(postcode[1])/1 == postcode[1]/1) && (parseInt(postcode[2])/1 == postcode[2]/1) && (parseInt(postcode[3])/1 == postcode[3]/1))
        {
            valid = true;
        }
        else{
            valid = false;
        }
    }
    else{
        valid = false;
    }

    return valid;
}
