var xmlHttp
var myDiv
var myModule
var lastAction
var lastPageId
var lastModuleId
var slideShow1
var exportPage
var slideShowLimit
var slideShowOffset
var currentForm

function getItemAccessoires(iItemId,iModuleId,sModule,sAction,thisDiv,sAccessoireType,sOffsetElement){
	
	var oOffsetElement = document.getElementById(sOffsetElement);
	var oOffetPosition = findElementPosition(oOffsetElement);
	
	var oThisDiv = document.getElementById(thisDiv);
	oThisDiv.style.left = oOffetPosition[0]-800+"px";
	oThisDiv.style.top = oOffetPosition[1]-450+"px";
	
	var siteUrl = getDomain();
	var url = siteUrl+"/cms/modules/" + sModule + "/controller/" + sModule + ".php"

	url = url + "?action=" + sAction
	url = url + "&item_id=" + iItemId
	url = url + "&module_id=" + iModuleId
	url = url + "&accessoire_type=" + sAccessoireType
	url = url + "&sid=" + Math.random()
	
	oXmlHttp = GetXmlHttpObject();
	SendRequest(url, "GET", null, oXmlHttp, sAction, thisDiv);
	
}

// Delete an image from a module
function del_image(item_id, image_name, module, sPhotoContainer, action) {

	if (confirm("Weet u het zeker dat u deze foto wilt verwijderen?")) {

		// var action = "delete_image";

		var url = "modules/" + module + "/controller/" + module + ".php"
		url = url + "?item_id=" + item_id
		url = url + "&action=" + action
		url = url + "&image_name=" + image_name
		url = url + "&sid=" + Math.random()

		oXmlHttp = GetXmlHttpObject();
		SendRequest(url, "GET", null, oXmlHttp, action, '');

		// Hide image in form
		var img = document.getElementById(sPhotoContainer);
		img.innerHTML = 'Geen foto aanwezig';

	}
}

// Function for changing the order in which property items are shown
function chgModulePropertyOrder(control, property_id, item_order_old, thisDiv,
		module_type, module_id, property_type_id, action) {

	var Index = document.getElementById(control).selectedIndex
	var item_order_new = document.getElementById(control).options[Index].value
	// var action = "reset_item_order";

	var url = "modules/" + module_type + "/controller/" + module_type + ".php"

	url = url + "?property_id=" + property_id
	url = url + "&item_order_old=" + item_order_old
	url = url + "&item_order_new=" + item_order_new
	url = url + "&module_id=" + module_id
	url = url + "&action=" + action
	url = url + "&property_type_id=" + property_type_id
	url = url + "&sid=" + Math.random()

	oXmlHttp = GetXmlHttpObject();
	SendRequest(url, "GET", null, oXmlHttp, action, thisDiv);
}

// Function for changing the order in which moduleitems are shown
function chgModuleItemOrder(control, module_item_id, item_order_old, thisDiv,
		module_type, parent_page_id, module_id, parent_item_id) {

	var Index = document.getElementById(control).selectedIndex
	var item_order_new = document.getElementById(control).options[Index].value
	var action = "reset_item_order";

	// myDiv = thisDiv

	/*
	 * xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Browser does not
	 * support HTTP Request") return }
	 */
	if (module_type == "portfolio_photo") {
		var url = "modules/portfolio/set_photo_item_order.php"
	} else {
		var url = "modules/" + module_type + "/controller/" + module_type
				+ ".php"
	}
	url = url + "?module_item_id=" + module_item_id
	url = url + "&item_order_old=" + item_order_old
	url = url + "&item_order_new=" + item_order_new
	url = url + "&module_id=" + module_id
	url = url + "&action=" + action
	url = url + "&parent_page_id=" + parent_page_id

	if (parent_item_id > 0) {
		url = url + "&parent_item_id=" + parent_item_id
	}

	url = url + "&sid=" + Math.random()

	oXmlHttp = GetXmlHttpObject();
	SendRequest(url, "GET", null, oXmlHttp, action, thisDiv);
}

// Function for changing the order in which menuitems and pages in CMS are shown
function chgPageOrder(control, page_id, page_order_old, thisDiv, module_id,
		page_status, parent_page_id, returnto) {

	var Index = document.getElementById(control).selectedIndex
	var page_order_new = document.getElementById(control).options[Index].value

	// myDiv = thisDiv

	var action = "set_page_order";

	var url = "modules/page/controller/page.php"
	url = url + "?page_id=" + page_id
	url = url + "&action=" + action
	url = url + "&page_order_old=" + page_order_old
	url = url + "&page_order_new=" + page_order_new
	url = url + "&page_status=" + page_status
	url = url + "&module_id=" + module_id
	url = url + "&parent_page_id=" + parent_page_id
	if (returnto) {
		url = url + "&returnto=" + returnto
	}

	url = url + "&sid=" + Math.random()

	oXmlHttp = GetXmlHttpObject();
	SendRequest(url, "GET", null, oXmlHttp, action, thisDiv);

	/*
	 * xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true)
	 * xmlHttp.send(null)
	 */
}

// Function for deleting item properties
function del_property(item_id, thisDiv, thisModule, module_id, action,
		property_type_id) {
	if (confirm("Weet u het zeker dat u dit item wilt verwijderen?")) {

		var url = "modules/" + thisModule + "/controller/" + thisModule
				+ ".php";
		url = url + "?del=" + item_id;
		url = url + "&module_id=" + module_id;
		url = url + "&property_type_id=" + property_type_id;
		url = url + "&action=" + action;
		url = url + "&sid=" + Math.random();

		oXmlHttp = GetXmlHttpObject();
		SendRequest(url, "GET", null, oXmlHttp, action, thisDiv);
	}
}

// Function for deleting moduleitems
function del_item(item_id, thisDiv, thisModule, module_id, action,
		parent_page_id, returnto, parent_item_id) {
	if (confirm("Weet u het zeker dat u dit item wilt verwijderen?")) {

		// myDiv = thisDiv
		myModule = thisModule
		// var action = "delete";
		var page_status;

		// Get page statusview if module is page
		/*
		 * if(myModule=="page" && returnto==""){ //var checkBoxArr =
		 * getSelectedCheckbox(document.forms[0].page_status); var checkBoxArr =
		 * document.forms['page_status_form'].page_status;
		 * 
		 * page_status = getSelectedRadioValue(checkBoxArr); }
		 */

		/*
		 * if (xmlHttp==null) { alert ("Browser does not support HTTP Request")
		 * return }
		 */
		if (myModule == "portfolio_photo") {
			var url = "modules/portfolio/deletephoto.php";
		} else {
			var url = "modules/" + thisModule + "/controller/" + thisModule
					+ ".php";
		}
		url = url + "?del=" + item_id;
		url = url + "&module_id=" + module_id;
		url = url + "&parent_page_id=" + parent_page_id;

		if (myModule == "shopping_cart") {
			var oOrderStatus = document.getElementById('orderstatus');
			var sOrderStatus = oOrderStatus.options[oOrderStatus.selectedIndex].value;
			url = url + "&orderstatus=" + sOrderStatus;
		}

		if (myModule == "page") {
			// url=url+"&page_status="+page_status;
			//url = url + "&parent_page_id=" + parent_page_id;
			if (returnto) {
				url = url + "&returnto=" + returnto;
			}
		}
		if (parent_item_id > 0) {
			url = url + "&parent_item_id=" + parent_item_id;
		}

		url = url + "&action=" + action;
		url = url + "&sid=" + Math.random();
		
		oXmlHttp = GetXmlHttpObject();
		SendRequest(url, "GET", null, oXmlHttp, action, thisDiv);

		// xmlHttp.onreadystatechange=stateChanged
		// xmlHttp.open("GET",url,true)
		// xmlHttp.send(null)

		// document.forms['del_form'].del.value = item_id;

		// document.forms['del_form'].submit();
	}
}

// Function for showing either visible or nonvisible pages
function show_pages(page_status, module_id, thisDiv, parent_page_id) {

	myDiv = thisDiv

	xmlHttp = GetXmlHttpObject()
	if (xmlHttp == null) {
		alert("Browser does not support HTTP Request")
		return
	}
	var url = "modules/page/showpages.php"
	url = url + "?page_status=" + page_status
	url = url + "&module_id=" + module_id
	url = url + "&parent_page_id=" + parent_page_id

	url = url + "&sid=" + Math.random()

	xmlHttp.onreadystatechange = stateChanged
	xmlHttp.open("GET", url, true)
	xmlHttp.send(null)

}

// Function for setting pages and menuitems(in)visible
function set_page_state(page_id, thisDiv, visible, target, module_id,
		page_status, parent_page_id, returnto) {

	// myDiv = thisDiv
	var action = "set_page_state";

	var url = "modules/page/controller/page.php"
	url = url + "?page_id=" + page_id
	url = url + "&action=" + action
	url = url + "&visible=" + visible
	url = url + "&target=" + target
	url = url + "&module_id=" + module_id
	url = url + "&page_status=" + page_status
	url = url + "&parent_page_id=" + parent_page_id
	if (returnto) {
		url = url + "&returnto=" + returnto
	}
	url = url + "&sid=" + Math.random()

	oXmlHttp = GetXmlHttpObject();
	SendRequest(url, "GET", null, oXmlHttp, action, thisDiv);

	/*
	 * xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true)
	 * xmlHttp.send(null)
	 */

}

function stateChanged() {
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {

		if (xmlHttp.status == 200 || xmlHttp.status == 304) {
			// updatePage();
			document.getElementById(myDiv).innerHTML = xmlHttp.responseText
		} else {
			// An error occured
			alert('xmlHttp.statusText: ' + xmlHttp.statusText);
		}
	}
}

/*
 * function stateChanged() { if (xmlHttp.readyState==4 ||
 * xmlHttp.readyState=="complete") {
 * document.getElementById(myDiv).innerHTML=xmlHttp.responseText } }
 */

/*
 * function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+,
 * Safari xmlHttp=new XMLHttpRequest(); } catch (e) { //Internet Explorer try {
 * xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new
 * ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; }
 */

function GetXmlHttpObject() {
	var xmlHttp = null;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		// Internet Explorer
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	if (xmlHttp == null) {
		alert("Browser does not support HTTP Request")
		return
	}
	return xmlHttp;
}

function getSelectedRadio(buttonGroup) {
	// returns the array number of the selected radio button or -1 if no button
	// is selected
	if (buttonGroup[0]) { // if the button group is an array (one button is
		// not an array)
		for ( var i = 0; i < buttonGroup.length; i++) {
			if (buttonGroup[i].checked) {
				return i
			}
		}
	} else {
		if (buttonGroup.checked) {
			return 0;
		} // if the one button is checked, return zero
	}
	// if we get to this point, no radio button is selected
	return -1;
} // Ends the "getSelectedRadio" function

function getSelectedRadioValue(buttonGroup) {
	// returns the value of the selected radio button or "" if no button is
	// selected
	var i = getSelectedRadio(buttonGroup);
	if (i == -1) {
		return "";
	} else {
		if (buttonGroup[i]) { // Make sure the button group is an array (not
			// just one button)
			return buttonGroup[i].value;
		} else { // The button group is just the one button, and it is
			// checked
			return buttonGroup.value;
		}
	}
} // Ends the "getSelectedRadioValue" function

function valFormInput(module, valDiv) {

	myDiv = valDiv

	var username = document.forms[module + '_form'].user_name.value

	xmlHttp = GetXmlHttpObject();

	if (xmlHttp == null) { // If it cannot create a new Xmlhttp object.
		alert("Browser does not support HTTP Request");
		return;
	}

	xmlHttp.onreadystatechange = stateChanged

	xmlHttp.open('POST', 'modules/' + module + '/' + module + 'formval.php');
	xmlHttp.setRequestHeader('Content-Type',
			'application/x-www-form-urlencoded');
	xmlHttp.send('user_name=' + username);

}

function exportAllPages(thisDiv) {

	myDiv = thisDiv

	xmlHttp = GetXmlHttpObject()
	if (xmlHttp == null) {
		alert("Browser does not support HTTP Request")
		return
	}
	var url = "../export.php"
	url = url + "?exportmode=all"

	url = url + "&sid=" + Math.random()

	xmlHttp.onreadystatechange = stateChanged
	xmlHttp.open("GET", url, true)
	xmlHttp.send(null)
}

function processFormData(formName, thisUrl, sAction) {
	
	currentForm = formName;

	var postData = "form_name=" + formName;
	var elementTypes;

	var oForm = document.forms[formName];
	var element_name, element_value;
	var element_label;
	var blValidate;

	for (i = 0; i < oForm.elements.length; i++) {

		blValidate = false;

		if (oForm.elements[i].type !== "button"
				&& oForm.elements[i].type !== "reset"
				&& oForm.elements[i].disabled == false) {

			if (oForm.elements[i].getAttribute('validate')) {
				blValidate = eval(oForm.elements[i].getAttribute('validate'));
			}

			if (blValidate) {
				element_name = oForm.elements[i].name

				if (oForm.elements[i].type == "password"
						|| oForm.elements[i].type == "text"
						|| oForm.elements[i].type == "hidden"
						|| oForm.elements[i].type == "textarea"
						|| oForm.elements[i].type == "file") {

					element_value = oForm.elements[i].value

				} else if (oForm.elements[i].type == "checkbox") {
					element_value = oForm.elements[i].checked

					if (!element_value) {
						element_value = ""
					}

				} else if (oForm.elements[i].type == "select-one") {

					element_value = oForm.elements[i].options[oForm.elements[i].selectedIndex].value

				}

				// Reset field background color
				// oForm.elements[i].style.background = ""
				element_value = encodeMyHtml(element_value);

				postData = postData + "&" + element_name + "|val="
						+ element_value

			}
		}
	}

	// var siteUrl = getDomain();
	// thisUrl = siteUrl+"/cms/modules/customer/controller/"+thisUrl;
	

	validateFormInput(postData, thisUrl, 'validation_errors', sAction);

}

function validateFormInput(postedData, url, valDiv, sAction) {

	oXmlHttp = GetXmlHttpObject();
	var action = sAction;

	postedData = postedData + "&action=" + action;	

	SendRequest(url, "POST", postedData, oXmlHttp, action, valDiv);
}

// function for processing various formdata
function processForm(formName, valDiv, thisUrl) {

	myDiv = valDiv

	var val_errors = "";
	var element_name = "";
	var element_value = "";

	var theForm = document.forms[formName]

	for (i = 0; i < theForm.elements.length; i++) {

		if (theForm.elements[i].type !== "button"
				&& theForm.elements[i].type !== "reset") {

			element_name = theForm.elements[i].name

			if (theForm.elements[i].type == "text"
					|| theForm.elements[i].type == "textarea") {

				element_value = theForm.elements[i].value

				if (element_name == "E-mail" && element_value == "") {
					val_errors += "Vul veld E-mail in a.u.b.\n"
				} else if (element_name == "E-mail"
						&& !validateEmail(element_value)) {
					val_errors += "E-mail is niet correct ingevuld\n"
				} else if (element_name == "Naam" && element_value == "") {
					val_errors += "Vul veld Naam in a.u.b.\n"
				}

				if (formName == "contactform"
						|| formName == "contactform_beheer") {
					if (element_name == "Reactie" && element_value == "") {
						val_errors += "Vul veld bericht in a.u.b.\n"
					}
				} else if (formName == "cmsofferteaanvraag") {
					if (element_name == "Naam_bedrijf" && element_value == "") {
						val_errors += "Vul veld Naam bedrijf in a.u.b.\n"
					} else if (element_name == "naam_bestaande_website"
							&& element_value == "") {
						if (theForm.naam_nieuwe_website.value == "") {
							val_errors += "Maak uw pakketkeuze a.u.b.\n"
						}
					}
				}

			} else if (theForm.elements[i].type == "checkbox") {
				// form_values += "Element Checked? " +
				// theForm.elements[i].checked + "\n"
			} else if (theForm.elements[i].type == "select-one") {
				// form_values += "Selected Option's Text: " +
				// theForm.elements[i].options[theForm.elements[i].selectedIndex].text
				// + "\n"
				element_value = theForm.elements[i].options[theForm.elements[i].selectedIndex].value

				// alert(element_value);

				if (element_name == "Betreft" && element_value == "") {
					val_errors += "Maak keuze bij betreft a.u.b.\n"
				}

			}

		}
	}

	if (val_errors == "") {
		document.forms[formName].submit();
	} else {
		// document.getElementById(myDiv).style.display = "block"
		// document.getElementById(myDiv).innerHTML=val_errors

		// alert('U heeft niet alle velden,gemarkeerd met een * correct
		// ingevuld.');
		alert(val_errors);
	}

}

// Validate emailaddress
function validateEmail(email) {
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if (reg.test(email) == false) {
		return false;
	}
	return true;
}

// function for encoding formvalues
function encodeMyHtml(strToEncode) {
	strToEncode = escape(strToEncode);
	strToEncode = strToEncode.replace(/\//g, "%2F");
	strToEncode = strToEncode.replace(/\?/g, "%3F");
	strToEncode = strToEncode.replace(/=/g, "%3D");
	strToEncode = strToEncode.replace(/&/g, "%26");
	strToEncode = strToEncode.replace(/@/g, "%40");

	return strToEncode
}

function imposeMaxLength(Object, MaxLen) {
	return (Object.value.length <= MaxLen);
}

// Function for photo slideshow
function showSlideShow(export_page, limit, thisDiv, action, offset) {

	myDiv = thisDiv
	lastAction = action
	exportPage = export_page
	slideShowLimit = limit
	slideShowOffset = offset

	xmlHttp = GetXmlHttpObject()
	if (xmlHttp == null) {
		alert("Browser does not support HTTP Request")
		return
	}
	var url = "../cms/modules/photoalbum/get_thumbnail_nav.php"
	url = url + "?offset=" + offset
	url = url + "&limit=" + limit
	url = url + "&action=" + action
	url = url + "&export_page=" + export_page
	url = url + "&sid=" + Math.random()

	xmlHttp.onreadystatechange = stateChanged
	xmlHttp.open("GET", url, true)
	xmlHttp.send(null)

}

// function for showing random user comments on main site
function showRandomUserComments(page_id, thisDiv) {
	myDiv = thisDiv

	xmlHttp = GetXmlHttpObject()
	if (xmlHttp == null) {
		alert("Browser does not support HTTP Request")
		return
	}
	var url = "../cms/modules/comments/get_random_comments.php"
	url = url + "?page_id=" + page_id
	url = url + "&sid=" + Math.random()

	xmlHttp.onreadystatechange = stateChanged
	xmlHttp.open("GET", url, true)
	xmlHttp.send(null)
}

function createSlideShow() {
	slideShow1 = new Slideshow('slideshow', 3000);
}

function resetSlideShow() {
	slideShow1.reset();
}

// Function used for updating product/people availability
function setDateAvailability(cal) {

	MA.length = 0;

	var Dates = "";

	var selectedDates = document.getElementById('selected_dates');

	selectedDates.value = "";

	for ( var i in cal.multiple) {
		var currentDate = cal.multiple[i];
		// sometimes the date is not actually selected, that's why we need to
		// check.
		if (currentDate) {
			// OK, selected. Fill an input field.
			Dates += currentDate.print("%Y%m%d");
			Dates += "-";

			// and push it in the "MA", in case one triggers the calendar again.
			MA[MA.length] = currentDate;
		}
	}

	if (Dates.length > 0) {
		Dates = Dates.substr(0, Dates.length - 1);
		selectedDates.value = Dates;
	}

	if (MA.length < 1) {
		alert("U moet minstens 1 datum selecteren.");
	} else {
		document.forms[currentForm].submit();
	}

}

// Function used for updating product/people availability in CMS
function setDateAvailabilityCMs(cal) {

	MA.length = 0;

	var Dates = "";

	var selectedDates = document.getElementById('selected_dates');

	selectedDates.value = "";

	for ( var i in cal.multiple) {
		var currentDate = cal.multiple[i];
		// sometimes the date is not actually selected, that's why we need to
		// check.
		if (currentDate) {
			// OK, selected. Fill an input field.
			Dates += currentDate.print("%Y%m%d");
			Dates += "-";

			// and push it in the "MA", in case one triggers the calendar again.
			MA[MA.length] = currentDate;
		}
	}

	if (Dates.length > 0) {
		Dates = Dates.substr(0, Dates.length - 1);
		selectedDates.value = Dates;
	}

	/*
	 * if(MA.length < 1){ alert("U moet minstens 1 datum selecteren."); }else{
	 * document.forms[currentForm].submit(); }
	 */

}

function dateNotAvailable(date, year, month, day, hours, minutes) {

	var dateNowFull = new Date();

	var dateNow = new Date(dateNowFull.getFullYear(), dateNowFull.getMonth(),
			dateNowFull.getDate());
	var curDate = new Date(year, month, day);

	if (curDate < dateNow) {
		return true;
	}
	// Check which dates are occupied when placing an order
	for (i = 0; i < occupied_dates.length; i++) {
		if (occupied_dates[i] == year + "-" + month + "-" + day) {
			return true;
		}
	}
	return false;
}

function dateNotAvailable_personnel(date, year, month, day, hours, minutes) {

	var dateNowFull = new Date();

	var dateNow = new Date(dateNowFull.getFullYear(), dateNowFull.getMonth(),
			dateNowFull.getDate());
	var curDate = new Date(year, month, day);

	if (curDate < dateNow || date.getDay() == 0 || date.getDay() == 6) {
		return true;
	}
	// Check which dates are occupied when placing an order
	for (i = 0; i < occupied_dates.length; i++) {
		if (occupied_dates[i] == year + "-" + month + "-" + day) {
			return true;
		}
	}
	return false;
}

// Send Ajax request
function SendRequest(url, method, postdata, oXmlHttp, action, outputDiv) {
	/*
	 * xmlHttp.onreadystatechange=stateChanged xmlHttp.open(method,url,true)
	 * xmlHttp.setRequestHeader('Content-Type',
	 * 'application/x-www-form-urlencoded');
	 * 
	 * if(method=="POST"){ xmlHttp.send(postdata) }else{ xmlHttp.send(null) }
	 */
	oXmlHttp.onreadystatechange = function() {
		stateChanged2(oXmlHttp, action, outputDiv);
	};
	oXmlHttp.open(method, url, true)
	oXmlHttp.setRequestHeader('Content-Type',
			'application/x-www-form-urlencoded');

	if (method == "POST") {
		oXmlHttp.send(postdata)
	} else {
		oXmlHttp.send(null)
	}
}

function stateChanged2(oXmlHttp, action, outputDiv) {
	if (oXmlHttp.readyState == 4 || oXmlHttp.readyState == "complete") {

		if (oXmlHttp.status == 200 || oXmlHttp.status == 304) {
			updatePage(oXmlHttp.responseText, action, outputDiv);
		} else {
			// An error occured
			alert('xmlHttp.statusText: ' + oXmlHttp.statusText + ' '
					+ 'xmlHttp.status: ' + oXmlHttp.status);
		}
	}
}

function checkRentedMaterialStock(materialStockDiv) {
	showHideControl(materialStockDiv, "block");
	cal.submitFlatDates();
}

function addRentedMaterial(materialStockDiv, timespanUnit, formName) {
	currentForm = formName;

	showHideControl(materialStockDiv, "none");
	setTimeSpanUnit('timespan_unit', timespanUnit);
	cal.submitFlatDates();
}

function addHiredPersonnel(formName) {

	currentForm = formName;
	cal.submitFlatDates();

}

function setAvailabilityAllPersonnel(cal) {
	MA.length = 0;

	var Dates = "";
	// var siteUrl = getDomain();

	for ( var i in cal.multiple) {
		var currentDate = cal.multiple[i];
		// sometimes the date is not actually selected, that's why we need to
		// check.
		if (currentDate) {
			// OK, selected. Fill an input field.
			Dates += currentDate.print("%Y%m%d");
			Dates += "-";

			// and push it in the "MA", in case one triggers the calendar again.
			MA[MA.length] = currentDate;
		}
	}

	// if(Dates.length > 0){
	Dates = Dates.substr(0, Dates.length - 1);
	// myDiv = 'material_date_stock';

	var moduleId = document.getElementById('module_id').value;

	oXmlHttp = GetXmlHttpObject();

	var url = "modules/hired_personnel/set_availability_all_personnel.php"
	url = url + "?module_id=" + moduleId
	url = url + "&selected_dates=" + Dates
	url = url + "&sid=" + Math.random();

	// document.write(url);
	// alert(url);
	SendRequest(url, "GET", null, oXmlHttp, "set_availability_all_personnel",
			"date_set_result");

	// }else{
	// alert("U moet minstens 1 datum selecteren.");
	// }
}

function setStockDates(cal) {
	MA.length = 0;

	var Dates = "";
	var siteUrl = getDomain();

	var selectedDates = document.getElementById('selected_dates');
	selectedDates.value = "";

	for ( var i in cal.multiple) {
		var currentDate = cal.multiple[i];
		// sometimes the date is not actually selected, that's why we need to
		// check.
		if (currentDate) {
			// OK, selected. Fill an input field.
			Dates += currentDate.print("%Y%m%d");
			Dates += "-";

			// and push it in the "MA", in case one triggers the calendar again.
			MA[MA.length] = currentDate;
		}
	}

	var materialStockDiv = document.getElementById('material_date_stock');

	if (Dates.length > 0) {
		Dates = Dates.substr(0, Dates.length - 1);
		// myDiv = 'material_date_stock';

		selectedDates.value = Dates;

		var moduleItemId = document.getElementById('module_item_id').value;
		var moduleId = document.getElementById('module_id').value;

		if (materialStockDiv && materialStockDiv.style.display == 'block') {

			// lastAction = "set_stock_dates";

			oXmlHttp = GetXmlHttpObject();

			var url = siteUrl
					+ "/cms/modules/rented_material/show_stock_per_date.php"
			url = url + "?module_item_id=" + moduleItemId
			url = url + "&module_id=" + moduleId
			url = url + "&selected_dates=" + Dates
			url = url + "&sid=" + Math.random();

			SendRequest(url, "GET", null, oXmlHttp, "set_stock_dates",
					"material_date_stock");
		} else {
			// Validate form input

			var oTimeSpanUnit = document.getElementById('timespan_unit');
			var sTimeSpanUnit = oTimeSpanUnit.value;

			var iTimeSpan = document
					.getElementById(sTimeSpanUnit + '_timespan').value;
			var iQuantity = document
					.getElementById(sTimeSpanUnit + '_quantity').value;

			var url = "cart.php";

			var postedData;
			postedData = "module_id=" + moduleId;
			postedData = postedData + "&module_item_id=" + moduleItemId;
			postedData = postedData + "&selected_dates=" + Dates;
			postedData = postedData + "&form_name=" + currentForm;
			postedData = postedData + "&sid=" + Math.random();
			postedData = postedData + "&quantity|val=" + iQuantity;
			postedData = postedData + "&timespan|val=" + iTimeSpan;

			validateFormInput(postedData, url, 'validation_errors');
			// SendRequest(url,"POST",postedData);
			// document.forms[currentForm].submit();
		}
	} else {
		alert("U moet minstens 1 datum selecteren.");
	}

}

function setFormAction(actionName, formName) {
	var oForm = document.forms[formName];
	var oAction = oForm.action;
	oAction.value = actionName;

	oForm.submit();
}

function checkOrder(action, pageId, moduleId) {

	// xmlHttp=GetXmlHttpObject();

	xmlHttp2 = GetXmlHttpObject();

	// lastAction = action;
	lastPageId = pageId;

	var url = "cart.php";

	var postedData;
	postedData = "page_id=" + pageId
	postedData = postedData + "&module_id=" + moduleId
	postedData = postedData + "&action=" + action
	postedData = postedData + "&sid=" + Math.random();

	// SendRequest(url,"POST",postedData);
	SendRequest(url, "POST", postedData, xmlHttp2, action);
}

function showScSummary(action, thisDiv, pageId, moduleId) {

	// xmlHttp=GetXmlHttpObject();
	if (document.getElementById(thisDiv)) {
		xmlHttp2 = GetXmlHttpObject();

		// lastAction = action;
		// myDiv = thisDiv;

		var url = "cart.php";

		var postedData;
		postedData = "page_id=" + pageId
		postedData = postedData + "&module_id=" + moduleId
		postedData = postedData + "&action=" + action
		postedData = postedData + "&sid=" + Math.random();

		SendRequest(url, "POST", postedData, xmlHttp2, action, thisDiv);
	}
}

// Check login status
function checkLoginStatus(action, pageId, thisDiv, moduleId) {
	// myDiv = thisDiv;

	// lastAction = action;
	lastPageId = pageId;
	lastModuleId = moduleId;

	// xmlHttp=GetXmlHttpObject();
	xmlHttp2 = GetXmlHttpObject();

	var url = "customer.php";
	var postedData;

	postedData = "page_id=" + pageId
	postedData = postedData + "&action=" + action
	postedData = postedData + "&module_id=" + moduleId
	postedData = postedData + "&sid=" + Math.random();

	// SendRequest(url,"POST",postedData);
	SendRequest(url, "POST", postedData, xmlHttp2, action, thisDiv);
}

function showHideControl(controlId, displayType, disabledState) {
	oControl = document.getElementById(controlId);
	oControl.style.display = displayType;

	// Disable childcontrols?
	if (disabledState == "disabled") {
		disableEnableControlsByTagName(oControl, "input", true);
		disableEnableControlsByTagName(oControl, "textarea", true);
		disableEnableControlsByTagName(oControl, "select", true);
	} else if (disabledState == "enabled") {
		disableEnableControlsByTagName(oControl, "input", false);
		disableEnableControlsByTagName(oControl, "textarea", false);
		disableEnableControlsByTagName(oControl, "select", false);
	}
}

function showHideControlByValue(controlId, value, checkValue) {
	if (value == checkValue) {

	} else {

	}
}

function disableEnableControl(controlId,disabledState){
	oControl = document.getElementById(controlId);
	oControl.disabled = disabledState;
}

function disableEnableControlsByTagName(oParentControl, tagName, state) {
	var oChildren = oParentControl.getElementsByTagName(tagName);

	var i = 0;
	var oNode;

	while ((oNode = oChildren.item(i++))) {
		/* loop body working with oNode */
		oNode.disabled = state;

	}
}

function updatePage(ajaxResponse, action, outputDiv) {
	// var ajaxResponse = xmlHttp.responseText;
	
	if (action != "") {
		if (action.indexOf("validate_input") > -1) {
			action = "validate_input";
		}
	}

	// switch(lastAction){
	switch (action) {
	case "check_login_status":
		// Display login status
		// document.getElementById(myDiv).innerHTML=ajaxResponse;
		// document.getElementById(outputDiv).innerHTML=ajaxResponse;
		updatePanel(outputDiv, ajaxResponse)

		// Check if there's a current shoppingcart order
		// checkOrder("check_order",lastPageId,lastModuleId);
		break;
	case "check_order":
		if (eval(ajaxResponse)) {
			// Show shoppingcart summary
			showHideControl("order", "block");
			showScSummary("show_sc_summary", "order", lastPageId, lastModuleId);
		}
		break;
	case "del_sc_article":
	case "update_article_quantity":
		// Display order overview
		// document.getElementById(outputDiv).innerHTML=ajaxResponse;
		updatePanel(outputDiv, ajaxResponse)

		// Update shoppingcart summary
		showScSummary("show_sc_summary", "order", lastPageId, lastModuleId);
		break;
	case "add_article":
		// Display order overview
		// document.getElementById(outputDiv).innerHTML=ajaxResponse;
		updatePanel(outputDiv, ajaxResponse)

		showHideControl('actionAfterAdd', 'block');
		showHideControl('order', 'block');

		// Update shoppingcart summary
		showScSummary("show_sc_summary", "order", lastPageId, lastModuleId);
		break;
	case "set_stock":
		// document.getElementById(outputDiv).innerHTML=ajaxResponse;
		updatePanel(outputDiv, ajaxResponse)
		setStock();
		break;
	case "validate_input":
		
		// Check if validationerrors occured
		var strValidationErrors = ajaxResponse;
		var strValidationMessage = '';
		var arrValidationErrors;
		var arrValidationErrors1;

		arrValidationErrors1 = strValidationErrors.split("##");
		arrValidationErrors = arrValidationErrors1[0].split("||");		

		// Errors found
		if (!eval(arrValidationErrors[0])) {
			var arrLen = arrValidationErrors1.length;

			for ( var i = 0, len = arrLen; i < len; ++i) {
				arrValidationErrors = arrValidationErrors1[i].split("||");
				strValidationMessage += "<li class='validation_list'>"
						+ arrValidationErrors[1];
			}

			if (!document.getElementById(outputDiv)) {
				alert('Maak een Div aan met Id: ' + outputDiv);
			} else {
				valDiv = document.getElementById(outputDiv);
				valDiv.onmouseover = function() {
					showHideControl(outputDiv, "none");
				}
				showHideControl(outputDiv, "block");
				valDiv.innerHTML = strValidationMessage;
			}

		} else {
			// Submit form
			document.forms[currentForm].submit();
		}
		break;
	case "sort_results":
		// document.getElementById(outputDiv).innerHTML=ajaxResponse;
		updatePanel(outputDiv, ajaxResponse)
		// Check if product stock needs to be set again
		if (window.setProductStock) {
			setProductStock();
		}
		break;
	case "generate_invoice_file":
		document.forms[outputDiv].submit();
		break;
	default:
		/*
		 * if(document.getElementById(outputDiv)){
		 * document.getElementById(outputDiv).innerHTML=ajaxResponse; }
		 */
		updatePanel(outputDiv, ajaxResponse)
		
		break;
	}

}

function updatePanel(sOutPutDiv, ajaxResponse) {
	// alert(ajaxResponse);
	if (document.getElementById(sOutPutDiv)) {
		document.getElementById(sOutPutDiv).style.display = 'block';
		document.getElementById(sOutPutDiv).innerHTML = ajaxResponse;
	}
}

function addScArticle(action, pageId, thisDiv, moduleId, moduleItemId) {
	oXmlHttp = GetXmlHttpObject();

	lastPageId = pageId;
	lastModuleId = moduleId;

	// Get article quantity
	var oQuantity;
	var quantity = 1;

	oQuantity = document.getElementById("quantity_" + moduleItemId);
	if (!oQuantity) {
		oQuantity = document.getElementById("quantity");
	}
	if (oQuantity) {
		// quantity = oQuantity.value;
		quantity = oQuantity.options[oQuantity.selectedIndex].value;
	}

	var url = "cart.php";

	var postedData;
	postedData = "page_id=" + pageId
	postedData = postedData + "&module_id=" + moduleId
	postedData = postedData + "&module_item_id=" + moduleItemId
	postedData = postedData + "&quantity=" + quantity
	postedData = postedData + "&action=" + action
	postedData = postedData + "&sid=" + Math.random();

	SendRequest(url, "POST", postedData, oXmlHttp, action, thisDiv);

	// Update product stock
	// if(window.setProductStock){
	// setProductStock(moduleItemId,quantity);
	// }
}

function setScArticleAccessoire(action, pageId, thisDiv, moduleId, articleId,
		moduleItemId, articleAccessoire,articleAccessoireId) {
	oXmlHttp = GetXmlHttpObject();

	// lastAction = action;
	lastPageId = pageId;
	lastModuleId = moduleId;

	// myDiv = thisDiv;

	var siteUrl = getDomain();
	var url = siteUrl+"/index.php";

	var postedData;
	postedData = "page_id=" + pageId
	postedData = postedData + "&sc_module_id=" + moduleId
	postedData = postedData + "&sc_article_id=" + articleId
	postedData = postedData + "&article_accessoire=" + articleAccessoire
	postedData = postedData + "&article_accessoire_id=" + articleAccessoireId
	postedData = postedData + "&module_item_id=" + moduleItemId
	postedData = postedData + "&action=" + action
	postedData = postedData + "&action_type=shopping_cart"
	postedData = postedData + "&sid=" + Math.random();

	SendRequest(url, "POST", postedData, oXmlHttp, action, thisDiv);
}

function delScArticle(action, pageId, thisDiv, moduleId, articleId,
		moduleItemId, quantity) {
	oXmlHttp = GetXmlHttpObject();

	// lastAction = action;
	lastPageId = pageId;
	lastModuleId = moduleId;

	// myDiv = thisDiv;
	
	var siteUrl = getDomain();
	var url = siteUrl+"/index.php";

	var postedData;
	postedData = "page_id=" + pageId
	postedData = postedData + "&sc_module_id=" + moduleId
	postedData = postedData + "&sc_article_id=" + articleId
	postedData = postedData + "&quantity=" + quantity
	postedData = postedData + "&module_item_id=" + moduleItemId
	postedData = postedData + "&action=" + action
	postedData = postedData + "&action_type=shopping_cart"
	postedData = postedData + "&sid=" + Math.random();

	SendRequest(url, "POST", postedData, oXmlHttp, action, thisDiv);
}

function updateArticleQuantity(action, pageId, thisDiv, moduleId, articleId,
		moduleItemId, newQuantity, oldQuantity) {
	
	if(isInteger(newQuantity) && newQuantity > 0){
	oXmlHttp = GetXmlHttpObject();

	// lastAction = action;
	lastPageId = pageId;
	lastModuleId = moduleId;

	// myDiv = thisDiv;

	var siteUrl = getDomain();
	var url = siteUrl+"/index.php";

	var postedData;
	postedData = "page_id=" + pageId
	postedData = postedData + "&sc_module_id=" + moduleId
	postedData = postedData + "&sc_article_id=" + articleId
	postedData = postedData + "&module_item_id=" + moduleItemId
	postedData = postedData + "&action=" + action
	postedData = postedData + "&action_type=shopping_cart"
	postedData = postedData + "&new_quantity=" + newQuantity
	postedData = postedData + "&old_quantity=" + oldQuantity
	postedData = postedData + "&sid=" + Math.random();

	SendRequest(url, "POST", postedData, oXmlHttp, action, thisDiv);
	}else{
		 alert("Hoeveelheid moet een geheel getal en groter dan 0 zijn.")
	}
}

function sortResults(module, orderBy, orderDirection, pageId, exportPage,
		thisDiv, isPreview, ajaxView) {
	oXmlHttp = GetXmlHttpObject();

	// myDiv = thisDiv;
	// lastAction = 'sort_results';

	var siteUrl = getDomain();

	var url = siteUrl + "/cms/modules/" + module + "/item_overview.php"
	url = url + "?page_id=" + pageId
	url = url + "&order_by=" + orderBy
	url = url + "&order_direction=" + orderDirection
	url = url + "&export_page=" + exportPage
	url = url + "&is_preview=" + isPreview
	url = url + "&ajax_view=" + ajaxView
	url = url + "&sid=" + Math.random();

	SendRequest(url, "GET", null, oXmlHttp, "sort_results", thisDiv);
}

function generateInvoiceFile(scriptQuery, formName) {
	oXmlHttp = GetXmlHttpObject();

	// myDiv = thisDiv;
	// lastAction = 'sort_results';

	var siteUrl = getDomain();

	var url = siteUrl + "/functions/HTML2PSPDF/demo/html2ps.php?" + scriptQuery;
	// url=url+"&sid="+Math.random();

	SendRequest(url, "GET", null, oXmlHttp, "generate_invoice_file", formName);
}

function changeColor(element, color) {
	element.style.background = color
}

function getDomain() {
	var domain = window.location.hostname;
	var locationHref = window.location.href;
	var siteUrl = "";

	// if(domain.indexOf("mycomp")>-1){
	var htmlDirIndex = locationHref.indexOf("/html/");
	if (htmlDirIndex > -1) {
		siteUrl = locationHref.substring(0, htmlDirIndex);
	} else {
		var sPath = window.location.pathname;
		//var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
		var sPage = sPath;
		siteUrl = locationHref.substring(0, locationHref.indexOf(sPage));
	}

	return siteUrl;
	// }
}

function validateScQuantity(oInput)
{
   switch (isInteger(oInput.value))
   {
      case true:
    	  return true;
         //alert(o.value + " is an integer")
         break;
      case false:
         alert("Hoeveelheid moet een geheel getal en groter dan 0 zijn.")
         return false;
   }
}


function isInteger (s)
{
   var i;

   if (isEmpty(s))
   if (isInteger.arguments.length == 1) return 0;
   else return (isInteger.arguments[1] == true);

   for (i = 0; i < s.length; i++)
   {
      var c = s.charAt(i);

      if (!isDigit(c)) return false;
   }

   return true;
}

function isEmpty(s)
{
   return ((s == null) || (s.length == 0))
}

function isDigit (c)
{
   return ((c >= "0") && (c <= "9"))
}

//Function for determining position of an element on the page
function findElementPosition( oElement ) {
	if( typeof( oElement.offsetParent ) != 'undefined' ) {
		for( var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent ) {
			posX += oElement.offsetLeft;
			posY += oElement.offsetTop;
		}
		return [ posX, posY ];
	} else {
		return [ oElement.x, oElement.y ];
	}
}

//This function gets called when the end-user clicks on some date.
function selected(cal, date) {
	cal.sel.focus();
	cal.sel.value = date; // just update the date in the input field.
	if (cal.dateClicked && (cal.sel.id == "date_start" || cal.sel.id == "sel3"))
	// if we add this call we close the calendar on single-click.
	// just to exemplify both cases, we are using this only for the 1st
	// and the 3rd field, while 2nd and 4th will still require double-click.
	//var oDateControl = document.getElementById('date_end_contract');

	cal.callCloseHandler();
}

// And this gets called when the end-user clicks on the _selected_ date,
// or clicks on the "Close" button.  It just hides the calendar without
// destroying it.
function closeHandler(cal) {
	cal.hide();                        // hide the calendar
	//  cal.destroy();
	_dynarch_popupCalendar = null;
}

// This function shows the calendar under the element having the given id.
// It takes care of catching "mousedown" signals on document and hiding the
// calendar if the click was outside.
function showCalendar(id, format, showsTime, showsOtherMonths,showAtElement) {
	var oShowAtElement = document.getElementById(showAtElement);
	var el = document.getElementById(id);
	if (_dynarch_popupCalendar != null) {
		// we already have some calendar created
		_dynarch_popupCalendar.hide();                 // so we hide it first.
	} else {
		// first-time call, create the calendar.
		var cal = new Calendar(1, null, selected, closeHandler);
		// uncomment the following line to hide the week numbers
		// cal.weekNumbers = false;
		if (typeof showsTime == "string") {
			cal.showsTime = true;
			cal.time24 = (showsTime == "24");
		}
		if (showsOtherMonths) {
			cal.showsOtherMonths = true;
		}
		_dynarch_popupCalendar = cal;                  // remember it in the global var
		cal.setRange(1900, 2070);        // min/max year allowed.
		cal.create();
	}
	_dynarch_popupCalendar.setDateFormat(format);    // set the specified date format
	_dynarch_popupCalendar.parseDate(el.value);      // try to parse the text in field
	_dynarch_popupCalendar.sel = el;                 // inform it what input field we use

	// the reference element that we pass to showAtElement is the button that
	// triggers the calendar.  In this example we align the calendar bottom-right
	// to the button.
	_dynarch_popupCalendar.showAtElement(oShowAtElement);        // show the calendar

	return false;
}

/** ***************** Shopping Cart ********* */
function goBack() {
	document.forms['redirect_form'].submit();
}

function showHideDeliveryAddress(sContainerId,oShowHideAddress){
	if(oShowHideAddress.checked){
		showHideControl(sContainerId, 'block', 'enabled');
	}else{
		showHideControl(sContainerId, 'none', 'disabled');
	}
}
function setProductAccessoire(iSelectedIndex,sControlId){
	var oControl = document.getElementById(sControlId);
	oControl.selectedIndex = iSelectedIndex;
	showHideControl('product_accessoires','none');
}

/****************************** NEWSLETTER ******************************/
function changeNewsLetterItemQuantity(sContainer,sAction){
	//Get current number of newsletter items
	var oNewsItemsQuantity = document.getElementById('news_items_quantity');
	var iNewsItemQuantity = oNewsItemsQuantity.value;
	var oNewDiv,oDelDiv,oFCKeditor,sNewsItem="";

	var oMainContainer = document.getElementById(sContainer);

	if(sAction=="more"){
		iNewsItemQuantity++;

		//Add new form elements
		oNewDiv = document.createElement("div");
		oNewDiv.id = "news_item_container_"+iNewsItemQuantity;

		oFCKeditor = new FCKeditor('news_item_maintext_'+iNewsItemQuantity);
		oFCKeditor.BasePath = 'fckeditor/';
		oFCKeditor.Width = 600;
		oFCKeditor.Height = 400;

		sNewsItem ="<table id ='table_default' cellspacing='0' width='500px'>";
		sNewsItem+="<tr><td class='label' colspan='2'>Berichttitel<br>";
		sNewsItem+="<input type='text' name='news_item_title_"+iNewsItemQuantity+"' class='text_box'>";
		sNewsItem+="</td></tr>";
		sNewsItem+="<tr><td class='label' colspan='2'>Datum bericht<br>";
		sNewsItem+="<input type='text' name='news_item_date_"+iNewsItemQuantity+"' id='news_item_date_"+iNewsItemQuantity+"' class='text_box'>";
		sNewsItem+="<img src='afbeeldingen/calendar_button.gif' id='btnDate_start_"+iNewsItemQuantity+"' class='calendar_button' onclick=\"return showCalendar('news_item_date_"+iNewsItemQuantity+"', '%Y-%m-%d', '24', true,'btnDate_start_"+iNewsItemQuantity+"');\"></td></tr>";
		sNewsItem+="<tr><td class='label' colspan='2'>Foto<br>";
		sNewsItem+="<input type='file' name='news_item_foto_"+iNewsItemQuantity+"' class='text_box'>";
		sNewsItem+="</td></tr>";
		sNewsItem+="<tr><td class='label' colspan='2'>Berichttekst<br>";
		sNewsItem+=oFCKeditor.CreateHtml();
		sNewsItem+="</td></tr>";
		sNewsItem+="</table><br>";

		oNewDiv.innerHTML = sNewsItem;
		oMainContainer.appendChild(oNewDiv);
	}else{
		if(iNewsItemQuantity > 0){
			oDelDiv = document.getElementById("news_item_container_"+iNewsItemQuantity);
			oMainContainer.removeChild(oDelDiv);

			iNewsItemQuantity--;
		}
	}

	//Set new quantity
	oNewsItemsQuantity.value = iNewsItemQuantity;


}

function selectAll(sControl,oCheckControl){
	var oControl = document.getElementById(sControl);

	for(var i = 0; i<oControl.length; i++){
		if(oCheckControl.checked){
			oControl.options[i].selected = true;
		}else{
			oControl.options[i].selected = false;
		}
	}
}

function addNewsLetterRecipient(updateDiv,sAction,sRecipientsListId,sNameId,sEmailId){
	var oRecipientsList = document.getElementById(sRecipientsListId);
	var sRecipientIds = "";
	var oName = document.getElementById(sNameId);
	var oEmail = document.getElementById(sEmailId);

	var sValidation = "";

	var sName = oName.value;
	var sEmail = oEmail.value;

	if(sName==""){
		sValidation+="Vul naam in a.u.b.\n";
	}
	if(sEmail==""){
		sValidation+="Vul e-mail in a.u.b.\n";
	}

	if(sValidation==""){
		for(var i = 0; i<oRecipientsList.length; i++){
			if(oRecipientsList.options[i].selected){
				sRecipientIds+=oRecipientsList.options[i].value;

				//if(i < oRecipientsList.length-1){
				sRecipientIds+=",";
				//}
			}
		}
		sRecipientIds = sRecipientIds.substring(0,sRecipientIds.length-1);

		oXmlHttp=GetXmlHttpObject();

		//var siteUrl = getDomain();

		var url="modules/newsletter/controller/newsletter.php";
		url=url+"?action="+sAction;
		url=url+"&name="+sName;
		url=url+"&email="+sEmail;
		url=url+"&recipientids="+sRecipientIds;
		url=url+"&sid="+Math.random();



		SendRequest(url,"GET",null,oXmlHttp,sAction,updateDiv);
	}else{
		alert(sValidation);
	}

}

function removeNewsLetterRecipient(updateDiv,sAction,sRecipientsListId){
	var oRecipientsList = document.getElementById(sRecipientsListId);
	var sRecipientIds = "";

	var sValidation = "";

	for(var i = 0; i<oRecipientsList.length; i++){
		if(oRecipientsList.options[i].selected){
			sRecipientIds+=oRecipientsList.options[i].value;

			//if(i < oRecipientsList.length-1){
			sRecipientIds+=",";
			//}
		}
	}
	if(sRecipientIds!=""){

		if(confirm('Weet het het zeker?')){
			sRecipientIds = sRecipientIds.substring(0,sRecipientIds.length-1);

			oXmlHttp=GetXmlHttpObject();

			//var siteUrl = getDomain();

			var url="modules/newsletter/controller/newsletter.php";
			url=url+"?action="+sAction;
			url=url+"&recipientids="+sRecipientIds;
			url=url+"&sid="+Math.random();

			SendRequest(url,"GET",null,oXmlHttp,sAction,updateDiv);
		}
	}else{
		sValidation = "Selecteer minstens 1 geadresseerde a.u.b.";
		alert(sValidation);
	}
}


function validateNewsletterInput(sRecipientsListId,sButtonClicked){
	
	var sValidation = "";

	if(sButtonClicked=="Test"){
		var oTestEmail = document.getElementById('test_email');
		if(oTestEmail.value==""){
			sValidation = "Vul een test e-mailadres in a.u.b.";
		}
	}else if(sButtonClicked=="Versturen"){

		//Check for recipients
		var oRecipientsList = document.getElementById(sRecipientsListId);
		var sRecipientIds = "";

		for(var i = 0; i<oRecipientsList.length; i++){
			if(oRecipientsList.options[i].selected){
				sRecipientIds+=oRecipientsList.options[i].value;

				sRecipientIds+=",";

			}
		}
		if(sRecipientIds==""){
			sValidation = "Selecteer minstens 1 geadresseerde a.u.b.";
		}
	}
	if(sValidation!=""){
		alert(sValidation);
		return false;
	}
	return true;
}

function bookmarksite(){
	if (document.all)
	window.external.AddFavorite(location.href, document.title);
	else if (window.sidebar)
	window.sidebar.addPanel(document.title, location.href, "");
	}


