	function DoAjax(field, url, params, method, loadclassname) {
		var http = false;
		if (window.XMLHttpRequest)
			http = new XMLHttpRequest();
		else if (window.ActiveXObject)
			http = new ActiveXObject("Microsoft.XMLHTTP");  
		
		if (!method || method.toLowerCase() == 'get') {
			var method = 'GET';
			url += '?' + params;
		}
		
		if (!params)
			params = '';
		
		window.status = 'Loading...';
		
		if (loadclassname) {
			document.getElementById(field).className = loadclassname;
			document.getElementById(field).innerHTML = '';
		}
		
		http.open(method, url);
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.setRequestHeader("Content-length", params.length);
		http.setRequestHeader("Connection", "close");
		
		http.onreadystatechange = function() {
			if(http.readyState == 4 && http.status == 200) {
				
				if (loadclassname)
					document.getElementById(field).className = '';
				
				window.status = '';
				document.getElementById(field).innerHTML = http.responseText;
			} 
			else {
				window.status = 'Error...';
			}
		}
		
		http.send(decodeURI(params));
	}
	
	function ChangeThisCheckbox(id, file) {
		var val = document.getElementById(id).checked;
		DoAjax('debug', file, '&id='+id+'&checked='+val);
	}
	
	function ChangeOrderStatusid(field, file, orderid, statusid, thisdate, clientid) {
		DoAjax(field, file+'/save/', '&orderid='+orderid+'&statusid='+statusid+'&clientid='+clientid);
		document.getElementById('orderdate'+orderid).innerHTML = thisdate;
	}
	
	function ChangeText(field, id, file, name, fieldwidth) {
		if (fieldwidth)
			fieldwidth = '&fieldwidth='+fieldwidth;
		else
			var fieldwidth = '';
		
		DoAjax(field, file+'/changetext/', '&id='+id+'&name='+name+fieldwidth);
	}
	
	function HighLight(q) {
		q.focus();
		q.select();
	}
	
	function CopyThisFields() {
		var arr1 = new Array('div_bedrijfsnaam','div_contactpersoon','div_email');
		var arr2 = new Array('bedrijfsnaam','contactpersoon','email','deletethisid');
		
		if (document.getElementById('div_checkbox').checked == true) {
			for(i=0;i<arr1.length; i++) {
				document.getElementById(arr2[i]).value = document.getElementById(arr1[i]).innerHTML;
			}
			document.getElementById('clientrequestdeletethisid').value = document.getElementById('clientrequestid').value;
		}
		else {
			for(i=0;i<arr2.length; i++) {
				document.getElementById(arr2[i]).value = '';
			}
		}
		
	}
	
	function CheckFileUploader() {
		var msg='';
		
		if (document.getElementById('itemid').value == 0)
			msg += 'Er is geen item geselecteerd';
		if (document.getElementById('itemid').value == 'anders' && document.getElementById('newitemname').value.length < 2)
			msg += 'Er is geen nieuwe itemnaam ingevoerd';
		
		if (msg) {
			alert(msg);
			return false;
		}
		else {
			return true;
		}
	}
	
	var isMinNS4 = (navigator.appName.indexOf("Netscape") >= 0 && parseFloat(navigator.appVersion) >= 4) ? 1 : 0;
	var isMinNS6 = (isMinNS4 && navigator.userAgent.indexOf("Gecko")>=0) ? 1 : 0;
	var isMinIE4 = (document.all) ? 1 : 0;
	var isMinIE5 = (isMinIE4 && navigator.appVersion.indexOf("5.")) >= 0 ? 1 : 0;
	var isDOM = (document.getElementById) ? 1 : 0;
	
	function GetBrowser(name) {
		if (isDOM)
			return document.getElementById(name);
		if (isMinNS4)
			return findLayer(name, document);
		if (isMinIE4)
			return eval('document.all.' + name);
		
		return null;
	}
	
	function ShowMore(name) {
		var name = GetBrowser(name);
		
		if (name.style.display == 'none')
			name.style.display = '';
		else
			name.style.display = 'none';
	}
	
	function ShowMore2(name, show) {
		var name = GetBrowser(name);
		
		if (show == 1)
			name.style.display = '';
		else
			name.style.display = 'none';
	}
	
	function MsgForOrderStatus(val,orderid) {
		if(val == 2){
			ShowMore2('filmproofuploadform'+orderid, 1);
		}
		else {
			if (val >= 3 && val <= 5)
				alert('Email naar klant verzonden.');
			
			ShowMore2('filmproofuploadform'+orderid, 0);
		}
	}
	
	function ToggleClientShowMore(id, url) {
		ShowMore('item'+id);
		
		DoAjax('divbedrijfsnaam_showmode'+id, url+'/bedrijfsnaam', '&id='+id);
		DoAjax('divcontactpersoon_showmode'+id, url+'/contactpersoon', '&id='+id);
		
		var name = GetBrowser('item'+id);
		if (name.style.display == 'none') {
			ShowMore2('divbedrijfsnaam_showmode'+id, true);
			ShowMore2('divbedrijfsnaam_editmode'+id, false);
			
			ShowMore2('divcontactpersoon_showmode'+id, true);
			ShowMore2('divcontactpersoon_editmode'+id, false);
		}
		else {
			ShowMore2('divbedrijfsnaam_showmode'+id, false);
			ShowMore2('divbedrijfsnaam_editmode'+id, true);
			
			ShowMore2('divcontactpersoon_showmode'+id, false);
			ShowMore2('divcontactpersoon_editmode'+id, true);
		}
	}
	
	function htmlspecialchars(p_string) {
		p_string = p_string.replace(/&/g, '&amp;');
		p_string = p_string.replace(/</g, '&lt;');
		p_string = p_string.replace(/>/g, '&gt;');
		p_string = p_string.replace(/"/g, '&quot;');
		return p_string;
	}
	
	function ucwords(msg) {
		var exp = msg.split(' ');
		
		var out='';
		for (q=0;q<exp.length;q ++) {
			out += exp[q].substr(0,1).toUpperCase()+exp[q].substr(1,exp[q].length);
			
			if (q <= (exp.length-2))
				out += ' ';
		}
		
		return out;
	}
	
	function UpdateTitle(msg) {
		var exp = document.title.split('-');
		
		if (exp.length >= 2)
			document.title = exp[0]+'- '+ucwords(msg);
	}
	
	function ChangeBottomImage(id, img, text, updatetextrealtime) {
		document.getElementById('img_big').src = img;
		
		if (!updatetextrealtime)
			document.getElementById('img_text').innerHTML = htmlspecialchars(text);
		else
			DoAjax('img_text', updatetextrealtime, '&id='+id, 'POST');
	}
	
	function GetBottomImageId() {
		var exp = document.getElementById('img_big').src.split('/fotos/');
		var id = exp[1].split('\.');
		
		return id[0];
	}
	
	function PreloadImages(arr) {
		if (document.images) {
			obj = new Image();
			
			for(i=0;i<arr.length; i++) {
				obj.src = arr[i];
			}
		}
	}
	
	function trim(value) {
		value = value.replace(/^\s+/,'');
		value = value.replace(/\s+$/,'');
		return value;
	}
	
	function CheckFormInputSelectfields(arr) {
		var msg='';
		for (q=0;q<arr.length;q ++) {
			for (i=0;i<document.getElementById(arr[q]).length;i ++) {
				if (document.getElementById(arr[q])[i].value == 0 && document.getElementById(arr[q])[i].selected == true) {
					msg += arr[q]+'\n';
					break;
				}
			}
		}
		
		return msg;
	}
	
	function CheckFormTextFields(arr) {
		var msg='';
		for (i=0;i<arr.length;i ++) {
			
			var val = trim(document.getElementById(arr[i]).value);
			if (val.length == 0)
				msg += arr[i]+'\n';
		}
		
		return msg;
	}
	
	function CheckFormInput(arr, arrfields) {
		var msg='';
		if (arr)
			msg += CheckFormTextFields(arr);
		
		if (arrfields)
			msg += CheckFormInputSelectfields(arrfields);
		
		if (msg) {
			msg = 'De volgende verplichte velden zijn niet of onjuist ingevuld\n\n'+msg;
			alert(msg);
			
			return false;
		}
		else {
			return true;
		}
	}
	
	function jQuerySearch(field, myurl, searchfor) {
		$(field).each(function(){
			if (this.createTextRange) {
				var r = this.createTextRange();
				r.collapse(false);
				r.select();
			}
			
			$(this).focus();
			// delete and set the value again, then also comes the cursor after the text in firefox
			$(field).val('');
			$(field).val(searchfor);
		});
		
		var typingTimer;
		var doneTypingInterval = 300;
		
		//on keyup, start the countdown
		$(field).keyup(function(){
			clearTimeout(typingTimer);
			typingTimer = setTimeout(doneTyping, doneTypingInterval);
		});
		
		//user is 'finished typing', do something
		function doneTyping() {
			if ($(field).val().length == 0) {
				$('#ResetSearchField').fadeOut('fast');
			}
			else {
				if ($('#ResetSearchField').is(":visible") == false)
					$('#ResetSearchField').fadeIn('fast');
			}
			
			$.ajax({
				url: myurl,
				type: 'POST',
				data: {q: $(field).val()},
				beforeSend: function() {
					$('#AjaxLoaderSearch img').fadeIn();
				},
				success: function(data) {
					$('#SearchOutput').html(data);
					$('#AjaxLoaderSearch img').fadeOut();
				}
			});
		}
	}
	
	function jQueryFindYouTube() {
		$('#maincontent').find('.youtube').each(function(index) {
				$('#'+this.id).youTubeEmbed({ video:'http://www.youtube.com/watch?v='+this.id });
			});
	}
	
	function Offerte_AnderArtikel(val) {
		if (val == 'anders')
			ShowMore2('anders', 1);
		else
			ShowMore2('anders', 0);
	}
	
	function DisabledFieldsById(arr,val) {
		if (val == true)
			var opt = true;
		else
			var opt = false;
		
		for (q=0;q<arr.length;q ++) {
			document.getElementById(arr[q]).disabled = opt;
		}
	}
	
	function CheckDeliverytimeInputField() {
		if (document.getElementById('levertijdfull').value.length > 0)
			var opt = true;
		else
			var opt = false;
		
		DisabledFieldsById(new Array('day','month','year'), opt);
	}
	
	function CheckFormAddClientLogin(fields, checkboxes) {
		
		var msg='';
		var msg2='';
		msg += CheckFormTextFields(fields);
		
		var num=0;
		var checkarr = new Array();
		for (q=0;q<checkboxes.length;q ++) {
			if (document.getElementById(checkboxes[q]).checked == false) {
				checkarr[num] = 1;
				num++;
			}
		}
		
		if (checkboxes.length == checkarr.length) {
			msg2 += 'Er is geen pagina aangevinkt, als de klant nergens toegang tot\nkrijgt kan hij ook niet inloggen!';
		}
		
		if (msg || msg2) {
			if (msg.length > 1)
				msg = 'De volgende verplichte velden zijn niet of onjuist ingevuld\n\n'+msg;
			if (msg2) {
				if (msg.length > 1)
					msg += '\n';
				msg += msg2;
			}
			
			alert(msg);
			
			return false;
		}
		else {
			return true;
		}
	}
	
	function ConfirmPassword(pass1, pass2) {
		var msg='';
		if (document.getElementById(pass1).value != document.getElementById(pass2).value || document.getElementById(pass1).value == '')
			msg = 'De ingevulde wachtwoorden komen niet overeen\n';
		if (document.getElementById(pass1).value.length < 4)
			msg += 'Het wachtwoord moet minimaal 4 karakters lang zijn';
		
		if (msg) {
			alert(msg);
			return false;
		}
		else {
			return true;
		}
	}
	
	var klik = 0;
	function klikken(msg) {
		if(klik > 0) {
			if (msg)
				alert(msg);
			
			return false; 
		} 
		else { 
			klik++ 
			return true; 
		}
	}
