// Javascript file to control validation for forms.

$(document).ready(function(){
    //Load dropdown options
    createDropDown($("#howoptions"));
    
    //Check from on submission
    $("#contactEnquiry").submit(function(){
        //Check all input fields to see if they are required, if so check to make sure not blank.
        var elements = $("input");
        var errorMsg = "The following fields require attention:" + "\n\n";
        
        for(i=0;i<=elements.length - 1;i++){
            var currentElement = $(elements[i]);
            var requiredElement = $(currentElement).next().get(0);
            
            if(requiredElement && $(requiredElement).attr("class").toString() == "required"){
                if($(currentElement).attr("value") == "" || $(currentElement).attr("value") == "required"){
                    //Find out the name of the empty field
                    var elementType = $(currentElement).parent().get(0);
                    elementType = $(elementType).prev().get(0);                    
                    elementType = $(elementType).html().toString();
                    
                    //Update error message
                    errorMsg = errorMsg + elementType.replace(":","") + "\n";
                    
                    //Change field styling
                    $(currentElement).css({
                        "font-weight" : "bold",
                        "color" : "#E77A11",
                        "border" : "solid 1px #E77A11"
                    });
                    $(currentElement).attr("value","required");                    
                }
            }
        }
        
        //Check textarea to make sure something is written inside
        if($("#contactEnquiry textarea").val().toString() == "" || $("#contactEnquiry textarea").val().toString() == "required"){
            errorMsg = errorMsg + "Your enquiry";
            $("form textarea").css({
                "font-weight" : "bold",
                "color" : "#E77A11",
                "border" : "solid 1px #E77A11"
            });
            $("form textarea").val("required");
        }
        
        //Display error message if any required fields are blank        
        if(errorMsg != "The following fields require attention:" + "\n\n"){
            alert(errorMsg);
            return false;
        }
        
        return true;
    });
    
    $("#contactEnquiry input").focus(function(){
        reset($(this));
    });
    
    $("#contactEnquiry textarea").focus(function(){
        reset($(this));
    });
});

function createDropDown(optionsString){
    var eachOption = $(optionsString).val().toString().split(",");
    for(i=0;i<=eachOption.length-1;i++){
        var newOption = document.createElement("option");        
        newOption.innerHTML = eachOption[i].toString();
        newOption.value = eachOption[i].toString();
        
        $("#contactEnquiry select").get(0).appendChild(newOption);
    }
}

function reset(node){
    if($(node).attr("value").toString() == "required"){            
        $(node).attr("value","");
        $(node).css({
            "font-weight" : "normal",
            "color" : "#000",
            "border" : "none"
        });
    }
}