// $Id: folderaanvraag.js,v 1.5 2005/12/20 15:48:21 bart Exp $
var objRequest = null;

function toggleFormDivs(idOn, idOff, idRadio) {
	document.getElementById(idOn).style.display = 'block';
	document.getElementById(idOff).style.display = 'none';
	document.getElementById(idRadio).checked = true;
	document.getElementById('divFolderThrobber').style.display = 'none';
	document.getElementById('divFolderError').style.display = 'none';
	document.getElementById('divFolderEmailDone').style.display = 'none';
}


function toggleBrochureDiv() {
	var targetDiv = document.getElementById('foldOut');
	targetDiv.className = (targetDiv.className=='folderReqOn' ? 'folderReqOff' : 'folderReqOn');
}

			
function resetFolderAanvraag() {
	toggleBrochureDiv();
	document.getElementById('radioEmail').checked = false;
	document.getElementById('radioPost').checked = false;
	document.getElementById('div1').style.display = 'block';
	document.getElementById('divFolderThrobber').style.display = 'none';
	document.getElementById('divFolderError').style.display = 'none';
	document.getElementById('divFolderEmailDone').style.display = 'none';
	document.getElementById('divFolderPostDone').style.display = 'none';
	document.getElementById('formFolderEmail').reset();
	document.getElementById('formFolderPost').reset();
}


function checkEmailAdres(email, buttonId) {
	if (email.match(/^[a-z0-9_.-]+@[-.a-z0-9]+\.[a-z]{2,6}$/i)) {
		document.getElementById(buttonId).disabled = false;
	} else {
		document.getElementById(buttonId).disabled = true;
	}
}


function submitEmailForm(url) {
	objRequest = createRequestObject();
	var emailadres = document.getElementById('inputEmail').value;
	var selbox = document.getElementById('accomTypeEmail');
	var accom_type_id = selbox.options[selbox.selectedIndex].value;
	if (objRequest) {
		document.body.style.cursor = 'wait';
		document.getElementById('divFolderEmailForm').style.display = 'none';
		document.getElementById('divFolderThrobber').style.display = 'block';

        objRequest.onreadystatechange = processEmailRequest;
		objRequest.open('GET', url+'?action=folderRequestEmail&emailadres='+emailadres+'&accommodatie_type_id='+accom_type_id, true);        
        objRequest.send(null);
	}
}


function processEmailRequest() {
    if (objRequest.readyState == 4) {
		document.body.style.cursor = 'default';
 	 	var responseXML = objRequest.responseXML;
		var responseCode = getTextContent(responseXML.getElementsByTagName('result')[0]);
		if (responseCode == 1) {
			document.getElementById('div1').style.display = 'none';
			document.getElementById('div2').style.display = 'block';
			document.getElementById('divFolderThrobber').style.display = 'none';
			document.getElementById('divFolderError').style.display = 'none';
			document.getElementById('divFolderEmailDone').style.display = 'block';
		} else {
			var error = getTextContent(responseXML.getElementsByTagName('message')[0]);
			document.getElementById('spanFolderError').innerHTML = error;
			document.getElementById('divFolderThrobber').style.display = 'none';
			document.getElementById('divFolderError').style.display = 'block';
		}
		return;
    }
} 


function getTextContent (node) {
  if (typeof node.textContent != 'undefined') {
    return node.textContent;
  }
  else if (node.nodeType == 3) {
    return node.nodeValue;
  }
  else {
    var textContent = '';
    for (var i = 0; i < node.childNodes.length; i++) {
      textContent += getTextContent(node.childNodes[i]);
    }
    return textContent;
  }
}

function createRequestObject() {
    if(window.XMLHttpRequest) {
        return  new XMLHttpRequest();
    } else if(window.ActiveXObject) {
        return new ActiveXObject("MSXML2.XMLHTTP");
    } else {
        alert("Uw browser ondersteunt geen XML requests via HTTP!\nHierdoor zullen sommige onderdelen van de website niet werken.\nDownload een nieuwere browser!");
        location.href = 'http://www.mozilla.org/products/firefox/';
        return false;
    }
}


function checkPostForm(form, buttonId) {
	var okiedokie = true;
	for (var i=0; i<form.elements.length; i++) {
		if (form.elements[i].id == buttonId || form.elements[i].id == "folderEmail") {
			continue;
		}
		if (form.elements[i].value == '') {
			okiedokie = false;
		}
	}
	document.getElementById(buttonId).disabled = !okiedokie;
}


function submitPostForm(url) {
	objRequest = createRequestObject();
	var naam = document.getElementById('folderNaam').value;
	var straat = document.getElementById('folderStraat').value;
	var huisnummer = document.getElementById('folderHuisnummer').value;
	var postcode = document.getElementById('folderPostcode').value;
	var plaats = document.getElementById('folderPlaats').value;
	var land = document.getElementById('folderLand').value;
	var selbox = document.getElementById('accomTypePost');
	var emailadres = document.getElementById('folderEmail').value;
	var accom_type_id = selbox.options[selbox.selectedIndex].value;
	if (objRequest) {
		document.body.style.cursor = 'wait';
		document.getElementById('divFolderPostForm').style.display = 'none';
		document.getElementById('divFolderThrobber').style.display = 'block';

        objRequest.onreadystatechange = processPostRequest;
        var requestString = '?action=folderRequestPost&naam='+naam+'&straat='+straat+'&huisnummer='+huisnummer+'&postcode='+postcode+'&plaats='+plaats+'&land='+land+'&emailadres='+emailadres+'&accommodatie_type_id='+accom_type_id;
		objRequest.open('GET', url+requestString , true);        
        objRequest.send(null);
	}
}


function processPostRequest() {
    if (objRequest.readyState == 4) {
		document.body.style.cursor = 'default';
 	 	var responseXML = objRequest.responseXML;
		var responseCode = getTextContent(responseXML.getElementsByTagName('result')[0]);
		if (responseCode == 1) {
			document.getElementById('div1').style.display = 'none';
			document.getElementById('div2').style.display = 'block';
			document.getElementById('divFolderThrobber').style.display = 'none';
			document.getElementById('divFolderError').style.display = 'none';
			document.getElementById('divFolderPostDone').style.display = 'block';
		} else {
			var error = getTextContent(responseXML.getElementsByTagName('message')[0]);
			document.getElementById('spanFolderError').innerHTML = error;
			document.getElementById('divFolderThrobber').style.display = 'none';
			document.getElementById('divFolderError').style.display = 'block';
		}
		return;
    }
} 
