  //create request
//
function createXMLHttpRequest() {
 
    var ua;
    
    if (window.XMLHttpRequest) {
        try {
        	ua = new XMLHttpRequest();
        } catch(e) {
        	ua = false;
        }
    } else if (window.ActiveXObject) {
        try {
        	ua = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
        	ua = false;
        }
    }
    return ua;

}//function

var req = createXMLHttpRequest();
var currentModule;

var currentParameters;
var currentForm;


function encodeValue(value) {
	return encodeURIComponent(value);
}


function kadabra(zap) {
   if (document.getElementById) {
   var abra = document.getElementById(zap).style;
    if (abra.display == "block") {
    abra.display = "none";
    } else {
    abra.display= "block";
   }
   return false;
   } else {
   return true;
  }
  }



function blockfield_belast () {
	var x = document.homeForm.belast.selectedIndex;
//	alert (document.getElementById('belast_value2').value);

	if (document.homeForm.belast.options[x].value=="Nee") {	
		document.getElementById('belast_value2').disabled = true;
		document.getElementById('belast_value2').value = "";
	} else {
		document.getElementById('belast_value2').disabled = false;		
		document.getElementById('belast_value2').value = "";
	}
}

function blockfield_eindheffing () {
	var x = document.homeForm.eindheffing.selectedIndex;
//	alert (document.getElementById('belast_value2').value);

	if (document.homeForm.eindheffing.options[x].value=="Nee") {	
		document.getElementById('eindheffing_value2').disabled = true;
		document.getElementById('eindheffing_value2').value = "";
	} else {
		document.getElementById('eindheffing_value2').disabled = false;		
		document.getElementById('eindheffing_value2').value = "";
	}

}


// performs action on form elements
//
function doAction(theModuleName, theFormName, theParameters, submitForm, verifyFormFirst, noscroll, theSelection) {
	
	currentModule = theModuleName;
	currentForm = theFormName;
//	var editordata = CKEDITOR.instances.editor.getData();
//	alert (editordata);
	
           	//alert('LOADING...\nModule: ' + theModuleName + '\nForm: ' + theFormName + '\nParameters: ' + theParameters + '\nSubmit Form: ' + submitForm + '\n Verify form: ' + verifyFormFirst + '\n')





	//if (theModuleName.length > 0) {
        if (true) {
		//alert('LOADING...\nModule: ' + theModuleName + '\nForm: ' + theFormName + '\nParameters: ' + theParameters + '\nSubmit Form: ' + submitForm + '\n Verify form: ' + verifyFormFirst + '\n')
		
		theForm = document.forms[theFormName];
	
		if (!verifyFormFirst || verifyForm(theForm)) {
			
			//confirm action
		  	var result = true;
			 if (theParameters && theSelection) {
			  	//handle other actions
			  	if (document.getElementById(theSelection)) {
			  		var count = countCheckedBoxes(theFormName, theSelection);
			  		if (count == 0) {
			  		  	alert('Er zijn geen items geselecteerd.');
						result = false;
					} else {
						theParameters += '&selection=' + theSelection;
					}
			  	}
			}//if
	
			if (result) {
				//compose parameters based on form
			  	var parameters = theParameters;
                            if (theForm) {

					for (i=0; i<theForm.elements.length; i++) {
					  	el = theForm.elements[i];
					  	if (!((el.type == "radio" || el.type == "checkbox") && !el.checked)) {
//                                                    alert ( parameters);
							//check if element is of date fieldtype, then convert to MySQL format
							if ((el.className) == "date") {
								var ddmmyyyy = el.value;
								var dd = ddmmyyyy.substring(0, 2);
								var mm = ddmmyyyy.substring(3, 5);
								var yyyy = ddmmyyyy.substring(6, 10);
								parameters += '&' + el.name + '=' + yyyy + mm + dd;
							} else if (el.type == "select-multiple") {
								idx = 0;
								optLength = el.length;
								for(pms = 0; pms < optLength; pms++) {
									optElem = el.options[pms];
									if (optElem.selected && optElem.value != "nothing_selected") {
										parameters += '&' + el.name + '[' + idx + ']' + '=' + optElem.value;
										idx++;
									}
								}

							} else {
								parameters += '&' + el.name + '=' + el.value ;


							}
						}
					}
				}//if

				 
				//scoll to the top of the window by default
				if (noscroll != true || noscroll == null) {
			    	scroll(0,0);
				}
				//send ajax request
				
				

				currentParameters = parameters;
                                
//alert(parameters);
		    	req.open('post', 'controller.php?' + parameters);
			    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			    req.onreadystatechange = handleResponse;
			    req.send(parameters);
			}
		}//if
	}

}//function

function trim(str) {

   return str.replace(/^\s*|\s*$/g,"");

}//function

// handles request response
//
function handleResponse() {

	if (req.readyState == 4) {

	    var response = req.responseText;
		var update = new Array();
        update = response.split('||');
	//alert(response);
		if (req.status !== 200) {
			//alert("Niet gevonden: " + req.statusText);
		} else {
        
			var cmd = trim(update[0]);

	        if (cmd == 'blank') {
		        update = response.split('||');
	 	        window.location = update[1]

	       	} else {
		        update = response.split('||');

                        if (cmd=="winkelwagen_betaal") {
                            document.getElementById('winkelwagen').innerHTML = update[1];
                            doAction('', 'productForm', 'action=betaal_keuze&form=productForm&div=content', true, false, true );
                          } else {
                          	if(document.getElementById(cmd)){
	                            document.getElementById(cmd).innerHTML = update[1];
	                        }else if(document.getElementById('content-home')){
	                        	document.getElementById('content-home').innerHTML = update[1];
	                        }else{
	                        	document.getElementById('content-middle').innerHTML = update[1];
	                        }
                        }
                        if (cmd=="aantal") {
                            document.productForm.aantal.focus();
                            document.productForm.aantal.select();
                        }

                        if (cmd=="winkelwagen") {
                       	    doAction('', 'productForm', 'action=overzicht_winkelwagen&form=homeFormCart&div=winkelwagen', true, false, true );
                        }
	       	}
	       	
		}

    }   
}//function





