/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


function showMessages(messages){
    output = new Array();

    $("#notificationArea").html("");
    
    maxMessageType = 0;
    
    for (mType in messages){
        output[mType] = new Array();
        for (mTrigger in messages[mType]){
            /*
             * Hier kommt der Block, der nach vorhandenen Formularfeldern sucht, die auf mTrigger matchen.
             * 
             */
            if (mTrigger.indexOf("_zip")){
                if (formFieldLabelContainer = document.getElementById(mTrigger.replace("_zip") + ".label")){
                    messages[mType][mTrigger][mCode]
                    formFieldLabel = formFieldLabelContainer.innerHTML + ": ";
                } else {
                    formFieldLabel = "";
                }
            } else {
                
            }
            if (formField = document.getElementById(mTrigger)){
                formField.className += " error";
            }    
            if (formFieldLabelContainer = document.getElementById(mTrigger+".label")){
                formFieldLabel = formFieldLabelContainer.innerHTML + ": ";
                formFieldLabelContainer.className += " error";
            } else {
                formFieldLabel = "";
            }
            formFieldErrors = new Array();
            for (mCode in messages[mType][mTrigger]){
                formFieldErrors.push(messages[mType][mTrigger][mCode]);
                /*
                 * Wenn ein passendes Formfield gefunden wurde, dann werden die Fehlermeldungen sowohl im .error-Container des
                 * Formfields als auch in der MessageArea/NotificationArea hinterlegt. In letzerer mit dem Text aus .label
                 */
                output[mType].push(formFieldLabel+messages[mType][mTrigger][mCode]);
            }
            if (formFieldErrorContainer = document.getElementById(mTrigger+".error")){
                formFieldErrorContainer.innerHTML = formFieldErrors.join(" / ");
                formFieldErrorContainer.className = " error"
            }
        }
    }
    var htmloutput = "";
    for (mType in output){
        //document.getElementById("jsDebug").value += "\nnotificationArea" + messageTypes[mType] + ".innerHTML =  - " + output[mType].join("<br>");
        //notificationAreas["childs"][messageTypes[mType]] = output[mType].join("<br>");
        if (output.length > 0){
            htmloutput = "<div class='"+messageTypes[mType]+"'>" + output[mType].join("<br>") + "</div>";
        }
    }
    if (htmloutput != ""){
        $("#notificationArea").html(htmloutput).css({overflow:"hidden",display:"block"}).delay(30000).animate({height:"0px",opacity:"0"},5000);
    }
    
    //notificationAreas["parent"].className = notificationAreaClass;
}

