var sep = "[::]";

/* EVENTS */
function newEventListener(element,event,func,capture) {
	event = event.replace(/^on/i,"");
	if (element.addEventListener) element.addEventListener(event,func,capture); else 
	if (element.attachEvent) element.attachEvent('on'+event,func);
}
function getTargetElement(event) {
	if (event.originalTarget) return event.originalTarget;
	if (event.srcElement) return event.srcElement;
}
function getRelatedElement(event) {
	if (event.relatedTarget) return event.relatedTarget;
	if (event.toElement) return event.toElement;
}

/* BINDS */
function bind(func,object,args) {
	return function() { return func.apply(object,args); }
}
function bindAsEventListener(func,object,args) {
	return function(event) { return func.apply(object, [event].concat(args)); }
}


/* FORMULIERVERZENDING */
function saveFormData() {	// werkt niet met google toolbar??
	var smform = new Array();
	smform['bedrijfsnaam']  = document.getElementById("bedrijfsnaam").value;
	smform['particulier']   = document.getElementById("particulier").checked;
	smform['aanhef']        = document.getElementById("aanhef").value;
	smform['voorletters']   = document.getElementById("voorletters").value;
	smform['tussenvoegsel'] = document.getElementById("tussenvoegsel").value;
	smform['achternaam']    = document.getElementById("achternaam").value;
	smform['straatnaam']    = document.getElementById("straatnaam").value;
	smform['huisnummer']    = document.getElementById("huisnummer").value;
	smform['toevoeging']    = document.getElementById("toevoeging").value;
	smform['postcode']      = document.getElementById("postcode").value;
	smform['woonplaats']    = document.getElementById("woonplaats").value;
	smform['telefoon']      = document.getElementById("telefoon").value;
	smform['email']         = document.getElementById("email").value;
	smform['opmerking']     = document.getElementById("opmerking").value;
	smform['sid']           = sessid;
	var request = new Sjax();
	request.request("/ajax/order_savenaw.php","post",doNothing,smform);
}

function ajax_sendOrder() {
	var request = new Ajax();
	request.request("/ajax/order_verzend.php","post",doNothing,{id:pid,m2:el.value,sid:sessid});
}

/* GOOGLE MAPS */
	function validateRoute() {
		var straat     = document.getElementById("straat");
		var huisnr     = document.getElementById("huisnr");
		var toev       = document.getElementById("toev");
		var plaats     = document.getElementById("plaats");
		var postcode_c = document.getElementById("postcode_c");
		var postcode_l = document.getElementById("postcode_l");
		if (!straat || straat.value == '') {
			alert('Heeft u uw straatnaam wel (juist) ingevuld?');
			straat.focus();
			return false;
		} else {
			straat.value = straat.value.substring(0,1).toUpperCase() + straat.value.substring(1).toLowerCase();
		}
		if (!huisnr || huisnr.value == '') {
			alert('Heeft u uw huisnummer wel (juist) ingevuld?');
			huisnr.focus();
			return false;
		}
		if (!plaats  || plaats.value == '') {
			alert('Heeft u uw woonplaats wel (juist) ingevuld?');
			plaats.focus();
			return false;
		} else {
			plaats.value = plaats.value.toUpperCase();
		}

		var regNumeric = /^[0-9]{4}$/;// alleen cijfers
		var regAlpha = /^[a-zA-z]{2}$/;// alleen cijfers
		if (!postcode_c || postcode_c.value == '') {
			alert('Heeft u uw postcode wel (juist) ingevuld?');
			postcode_c.focus();
			return false;
		} else {
			if(!regNumeric.test(postcode_c.value)){
				alert('Heeft u uw postcode wel (juist) ingevuld?');
				postcode_c.focus();
				return false;
			}
		}
		if (!postcode_l || postcode_l.value == '') {
			alert('Heeft u uw postcode wel (juist) ingevuld?');
			postcode_l.focus();
			return false;
		} else {
			if(!regAlpha.test(postcode_l.value)){
				alert('Heeft u uw postcode wel (juist) ingevuld?');
				postcode_l.focus();
				return false;
			} else {
				postcode_l.value = postcode_l.value.toUpperCase();
			}
		}
		var request = new Ajax();
		request.request("/ajax/ajax_route_savenaw.php","post",doNothing,{straat:straat.value,
																		 huisnum:huisnr.value,
																		 toev:toev.value,
																		 plaats:plaats.value,
																		 postcode:postcode_c.value+''+postcode_l.value});
		gm_getRoute(straat.value+', '+postcode_c.value+''+postcode_l.value+', '+plaats.value);
	}
	
var gm_dest = "Nijverheidsweg 18, 6171 AZ, Stein";
	function doNothing(){}

function gm_placeMarker(point) {
	gm_map = new GMap2(document.getElementById("routedisplay"));
	//gm_map.setCenter(new GLatLng(50.969776,5.75865),15);
	if (!point) gm_map.setCenter(new GLatLng(50.969776,5.75865),15); else gm_map.setCenter(point,15);
	gm_map.addControl(new GMapTypeControl());
	gm_map.addControl(new GSmallMapControl());
	var gm_marker=new GMarker(point);
	gm_map.addOverlay(gm_marker);
	//gm_marker.openInfoWindowHtml('<b>Iets</b>');
	gm_dir = new GDirections(gm_map, document.getElementById("routedescription"));
}

function gm_initialize() {
	if (GBrowserIsCompatible()) {
		gm_loc = new GClientGeocoder();
		gm_loc.getLatLng(gm_dest,gm_placeMarker);
	}
}

function gm_getRoute(fromAddress) {
	//alert(gm_dir);
	gm_dir.load("from: "+fromAddress+" to: "+gm_dest,{"locale":"nl_NL"});
}

/* INITIALIZE */
window.onload = function(){
	if (document.getElementById("routedisplay")) gm_initialize();
}
	/* Dorpdown informatie aanvragen */
	function form_onderwerp(optie, select){
		var objOptie = document.getElementById(optie);
		var objSelect = document.getElementById(select);
		document.getElementById('value_onderwerp').innerHTML = objSelect.innerHTML;
		document.getElementById('onderwerp').value = objSelect.innerHTML;
		document.getElementById('onderwerp_id').value = optie;
		
		var tempName = '';
		for (var i = 1; i <= 3; i++) {
			tempName = 'optie'+i;
			if (document.getElementById(tempName)) {
				document.getElementById(tempName).style.display = 'none';
			}
		}
		
		objOptie.style.display = 'block';
		document.getElementById('listOptions').style.display='none'
	}


