/*
 * JavaScript for submitting the mail form.
 */

var theMailForm = null;

function show(){
    try{
        theMailForm.style.display='block';
    }catch(e){}
}

function hide(){
    try{
        theMailForm.style.display='none';
    }catch(e){}
}

var waitingmessage=null;

function waitForSending(){
    try{
        hide();
        document.getElementById('messages').style.display='block';
    }catch(e){alert(e);};
}

function hideWaitForSending(){
    try{
        show();
        document.getElementById('messages').style.display='none';
    }catch(e){alert(e);};
}

function submitForm(theForm,thePath){
    theMailForm = theForm;    

    waitForSending();

    if(theForm != undefined && theForm != null && thePath!=undefined && thePath!=null){
        try{
            var formAttrs={};
            for(var fieldNo = 0;fieldNo<theForm.elements.length;fieldNo++){
                var field = theForm[fieldNo];
				if(field.type == 'radio' || field.type == 'checkbox'){
					if(field.checked){
						formAttrs[field.name]=field.value;
					}
				}else{
					formAttrs[field.name]=field.value;
				}
            }
            FormMailer.AjaxEmailForm(formAttrs,thePath,handleResponse);
        }catch(ex){
            alert("Er is een onverwachte fout opgetreden.");
        }
    }else{
        alert("Er is geen formulier opgegeven om te verzenden.");
    }
   
    return false;
}

function showSentMessage(message){
    try{        
        document.getElementById('messages').innerHTML=message;
    }catch(e){};
}

function handleResponse(serverdata){
    if(serverdata!=undefined && serverdata!=null){
        if(serverdata["error"]==undefined && serverdata["sent"]!=undefined && serverdata["sent"]=="true"){
            if(serverdata["sentmessage"]!=undefined){
                showSentMessage(serverdata["sentmessage"]);
            }else{
                showSentMessage("Het formulier is verzonden.");
            }  
        }else{
            alert(serverdata["error"]);
            hideWaitForSending();
        }
    }else{
        hideWaitForSending();        
        alert("Er is een fout opgetreden bij het verzenden van uw formulier. Druk nogmaals op verzenden om het opnieuw te proberen.");
    }
}