var error    = "#f68933";
var ok       = "#455560";
var okBorder = "#cfcfcf";

var messages = {"nl":{"notvalid":"U dient alle gekleurde velden correct in te vullen"}};

document.write("<script src=\"/templates/includes/inschrijven/formbuilder/scripts/core.js\"></script>");
document.write("<script src=\"/templates/includes/inschrijven/formbuilder/scripts/elements.js\"></script>");
document.write("<script src=\"/templates/includes/inschrijven/formbuilder/scripts/validations.js\"></script>");

/** FORMBUILDER **/
function validBuilder(formname,lang){
    var valid    = true;
    var elements = new Array();

    // Add input-elements to Array;
    var items    = document[formname].getElementsByTagName("input");
    for(var i =0; i < items.length; i++){
        if(!in_array(items[i].name,elements) && items[i].attributes["valid"] && items[i].attributes["valid"].value.toString()!=""){
            array_push(elements,items[i].name);
        }
    }

    for(index in elements){
        var itemvalid   = true;
        var element     = document[formname][elements[index]];

        if(element && !element[0]){
            itemvalid   = switchElement(element);
        }
        else if(element && element[0]){
            itemvalid   = switchElement(element, element[0].type);
        }

        colorElement(element, (itemvalid?ok:error));
        if(!itemvalid){
            valid = itemvalid;
        }
    }
    
    if(valid){
        document[formname].action = "";
        document[formname].method = "post";
        document[formname].submit();
    }
    else{
        alert(messages[lang]["notvalid"]);
    }
}

function switchElement(element, type){
    var valid   = null;
        type    = type==undefined?element.type:type;
    switch(type){
        case "text":
            valid = validItem(element);
            break;
        case "radio":
            valid = validCollection(element);
            break;
    }

    return valid;
}

function switchValidation(element, type){
    var valid = null;
    switch(type){
        case "notnull":
            valid = validNotNull(element);
            break;
        case "alwayschecked":
            valid = validAlwaysChecked(element);
            break;
        case "telefoon":
            valid = validTelefoon(element);
            break;
        case "email":
            valid = validEmail(element);
            break;
        case "11proef":
            valid = valid11proef(element);
            break;
        case "postcode":
            valid = validPostcode(element);
            break;
    }

    return valid;
}

function colorElement(element, color){
    var name = null;
    if(element && !element[0]){
        if(color == "#f68933"){
            if(element.className.toString().search(/small/gi)>-1){
                element.style.backgroundImage = "url(/templates/img/textfield_small_active.gif)";
            }
            else if(element.className.toString().search(/medium/gi)>-1){
                element.style.backgroundImage = "url(/templates/img/textfield_medium_active.gif)";
            }
            else{
                element.style.backgroundImage = "url(/templates/img/textfield_long_active.gif)";
            }
        }
        else{
            if(element.className.toString().search(/small/gi)>-1){
                element.style.backgroundImage = "url(/templates/img/textfield_small.gif)";
            }
            else if(element.className.toString().search(/medium/gi)>-1){
                element.style.backgroundImage = "url(/templates/img/textfield_medium.gif)";
            }
            else{
                element.style.backgroundImage = "url(/templates/img/textfield_long.gif)";
            }
        }
//        name = element.name.replace(/nn_/g,"");
//        element.style.borderColor = color.replace(ok,okBorder);
//        if(document.getElementById("lbl"+name)){
//            document.getElementById("lbl"+name).style.color = color;
//        }
    }
    else if(element && element[0]){
        name = element[0].name.replace(/nn_/g,"");
        document.getElementById("collection"+name).style.borderColor = color.replace(ok,"#FFFFFF");
        if(document.getElementById("lbl"+name)){
            document.getElementById("lbl"+name).style.color = color;
        }

    }
}
/** END FORMBUILDER **/
