var slide_in_speed = 50;	// millisecond duration of slide into view
var slide_out_speed = 100;// millisecond duration of slide out of view
var xpos;
var ypos;
var orgKwTxt = ''
var newKwTxt = null;
var emptyKw = null;
var last_dd = null;
var cors_poi = null;
var maploader = null;
var mapaction = null;
var mapbuttons = ['maps_point', 'maps_area'];
var map = null;
var geocoder = null;
var forceddnames = false;
var searchurl = zoekuriv6+"/#";
var gozoom = true;
var clicklistener = null;
var mapdiv = $("map");
var mgr;
var poly;
var polyarea;
var pois = ['19'];
var count = 0;
var points = new Array();
var markers = new Array();
var tooltip;
var pageclick = null;
var doScViewTracking = true;
var setScViewTrackingAfterSearch = false;
var mainsearchtext = false;
var mainsearchtext_orig = null;

function load() {
	/* */
}

document.observe("dom:loaded", function() {   
	if (Prototype.Browser.IE) { maploader = window.maploaderv6; }
	else { maploader = window.document.maploaderv6; }
	if ($('mapkeyword')) {
		$('mapkeyword').observe('keypress',function (e) {
			if (e.keyCode == Event.KEY_RETURN) {
				showRadiusAddress();
			}
		});
	}
	
	if ($('keyword')) {
		$('keyword').observe('keypress',function (e) {
			if (e.keyCode == Event.KEY_RETURN) {
				checkMainSearchText('enter');
				investigateKeyword();
			}
		}).observe('focus',function (e) { checkMainSearchText('focus'); }).observe('blur',function (e) { checkMainSearchText('blur'); });
	}
	if (sitesection == "search") { $j.historyInit(historypageload); }
	
	$$('span[title]').each(function(elem) {
			if(!elem.hasClassName('noclick')) {
				elem.onclick = dospanclick;
			}
			elem.className = 'spanclick';
			elem.onmouseover = dospanmouseover;
			elem.onmouseout = dospanmouseout;
	});
	Shadowbox.init({skipSetup:true});
}); 

function showwhat(wh) {
	alert(wh)
}

function dospanclick() {
	if (this.title.startsWith('blank_')) {
		title = this.title.substring(6);
		window.open(title,"_blank");
	}
	else {
		redirQPage(this.title);
	}
	
}

function dospanmouseover() {
	this.addClassName('spanclick-hover');
}

function dospanmouseout() {
	this.removeClassName('spanclick-hover');
}



function historypageload(hash) {
	if(!hash) {
		hash = "";
	}
	historyReload(hash);
}

function historyReload(data) {
	if (!Object.isUndefined(orgdd)) {
		params = Object.toJSON(orgdd);
		pardata = "list="+params+"&"+data;
		new Ajax.Request("/ajax/aj_decode_param", { onSuccess: returnHistoryReload, method: "post", parameters: pardata });
	}
}

function returnHistoryReload(data) {
	var obj = data.responseJSON;
	dd = obj.newdd;
	//$('test').innerHTML += "-Tijd:"+dd.time+"-";
	forceddnames = true;
	/* Set sc View Tracking after searching... */
	setScViewTrackingAfterSearch = true;
	/* ...Otherwise, will be executed twice in checkInitGMap */
	doScViewTracking = false;
	goSearch("json","n");
	if (dd.land != '0') {
		loadFlashMap(dd.land,dd.rgo);
	}
	if (dd.corsmap == "open") {
		if (!Object.isUndefined(obj.mapstate)) {
			mapstate = obj.mapstate;
		}
		else {
			mapstate = '';
		}
		checkInitGMap(true,false,mapstate);
	}
	return true;
}

function investigateKeyword() {
	//showLoadingResults();
	if (mainsearchtext == false || $('keyword').value == "") { alert(gentrans["mssgvulkeyw"]); }
	else {
		$("ajloader").show();
		$("ajloadermssg").hide();
		var params = "section=1&keyword="+$('keyword').value;
		new Ajax.Request("/ajax/investigatekeyword", { onSuccess: returnInvestigateKeyword, method: "post", parameters: params });
		//postDataReturnXml('/zoeken/engine5/investigatekeyword.php', curq, returnInvestigateKeyword);
	}
}

function returnInvestigateKeyword(data) {
	var obj = data.responseJSON;
	if (!Object.isUndefined(obj.error)) {
		alert(obj.error);
	}
	else {
		/*if (!Object.isUndefined(obj.sc_keyword) && checkSc()) { 
			searchprops = [{"prop": "prop2", "val" : obj.sc_keyword}];
			setScTracking(searchprops,"prop2","event2");
		}*/
		if (!Object.isUndefined(obj.multicors)) {
			$("ajloadermssg").show();
			$("ajloadermssg").update(obj.multicors);
		}
		else {
			if (!Object.isUndefined(obj.redir)) {
				redir = obj.redir;
				//$("maincontent").innerHTML = gentrans["bezigladen"]+" <img src='/img/loading/loadingpoints4.gif' width='15' height='9'>";
				if (sitesection == "search") { $j.historyLoad(redir,true); }
				else { redirQPage(obj.domain+zoekuriv6+"/#"+redir); }
			}
			else if (!Object.isUndefined(obj.pageredir)) {
				redirQPage(obj.pageredir);
			}
		}
	}
	$("ajloader").hide();
}

function hideLastDropdown() {
	if (last_dd != null) {
		$("list_dd_"+last_dd).hide();
	}
}
function checkMouseClick(event) {
	var element = $(Event.element(event));
	ename = element.identify();
	piece3 = ename.substring(0,3);
	piece7 = ename.substring(0,7);
	if (piece3 != "dd_" && piece3 != "a__" && piece7 != "list_dd") {
		hideLastDropdown();
		Event.stopObserving(document.body,'click',checkMouseClick);
	}
}

function loadDropdown(ddname,param) {
	Event.observe(document.body,'click',checkMouseClick);
	if (param == "changeA") {
		params = getDdParamList(ddname,false,false);
		$('dd_a_top').update("<div class='dd_loading'><img src='/img/loading/loadpagewhite_16.gif' /></div>");
		new Ajax.Request("/ajax/aj_dropdowncount_json", { onSuccess: returnLoadDropdown, method: "post", parameters: "list="+params });
	}
	else {
		if (isLayerDisplayed("list_dd_"+ddname)) {
			$('list_dd_'+ddname).hide();
		}
		else {
			if (last_dd != null) {
				hideLastDropdown();
			}
			last_dd = ddname;
			$('list_dd_'+ddname).show();
			if (ddname == "ad") { limg = "/img/loading/loadpagewhite_16.gif"; }
			else { limg = "/img/loading/loadpage_16.gif"; } 
			$('list_dd_'+ddname).update("<div class='dd_loading'><img src='"+limg+"' /></div>");
			params = "list="+getDdParamList(ddname,false,false);
			if (ddname == "apers_max") { 
				if (Object.keys(apers_list).size() > 0) { params += "&apers_list="+Object.toJSON(apers_list); }
			}
			new Ajax.Request("/ajax/aj_dropdowncount_json", { onSuccess: returnLoadDropdown, method: "post", parameters: params });
		}
	}
}

function returnLoadDropdown(data) {
	var obj = data.responseJSON;
	elem = $(obj.dropdowndata.id).update(obj.dropdowndata.content);
	if (obj.dropdowndata.dropdown == "ad" && dd.mnd != '0') {
		dd.mnd = '0';
		updateDdName("mnd","- "+gentrans['allmnd']+" -");
	}
	if (!Object.isUndefined(obj.debug)) { 
		$('crumbsbar').update(obj.debug); 
	}
	if (!Object.isUndefined(obj.apers_list)) { 
		apers_list = obj.apers_list;
	}
	//hideshow(dropdownid,'show');
}

function doMapAction(divid) {
	mapaction = divid;
	$("mapkeyword").clear();
	switch (mapaction) {
		case "maps_point": 
			mapsmessage =gentrans["radius_duid"]+"<br /><a href=\"#\" onclick=\"doMapAction('maps_hand'); $('maps_info').hide();\">"+gentrans["wd_ann"]+"</a> | ";
			setMapsPoint(); 
			break;
		case "maps_area":
			mapsmessage = gentrans["poly_teken"];
			setMapsArea();
			break;
	}
	setMapsTopInfo(mapsmessage,"info",true);

	mapbuttons.each(function(mapbutton) {
		(divid == mapbutton) ? $(mapbutton).className = "on" : $(mapbutton).className = "off";
	})
}
function setMapsHand() {
	changeCursor("default");
	removeClickListener();
}
function setMapsPoint() {
	changeCursor("crosshair");
	map.clearOverlays();
	createQueryControl();
	removeClickListener();
	clicklistener = GEvent.addListener(map, "click", function(overlay, point) {
		if (point) {
			createCircle(new GLatLng(point.y,point.x),searchradius);
		}
	});
}

function createQueryControl() {
	myQueryControl = new QueryControl();
	map.addControl(myQueryControl);
}

function resetMapsPoint() {
	map.clearOverlays();
	myQueryControl = new QueryControl();
}

function setMapsArea() {
	changeCursor("crosshair");
	clearMap();
    removeClickListener();
	clicklistener = GEvent.addListener(map, "click", leftClick);
}
function changeCursor(type) {
	map.getDragObject().setDraggableCursor(type);
  	map.getDragObject().setDraggingCursor(type);
}
function removeClickListener() {
	if (clicklistener != null) {
		GEvent.removeListener(clicklistener);
		clicklistener = null;
	}
}
function showNoResults() {
	tb_show('&nbsp;',  '/content/aj_windows/search/no_results.html?width=550&height=100',null);
}

function getDataReturnText(url, callback) { 
	var XMLHttpRequestObject = false;
	
	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(XMLHttpRequestObject) {
		XMLHttpRequestObject.open("GET", url); 
		XMLHttpRequestObject.onreadystatechange = function() { 
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
				callback(XMLHttpRequestObject.responseText); 
				delete XMLHttpRequestObject;
				XMLHttpRequestObject = null;
			} 
		}
		XMLHttpRequestObject.send(null); 
	}
}

function getDataReturnXml(url, callback) { 
	var XMLHttpRequestObject = false; 
	
	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
		mozillaFlag = true;
	}
	else if (window.ActiveXObject) {
		XMLHttpRequestObject = new 
		ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if(XMLHttpRequestObject) {
		XMLHttpRequestObject.open("GET", url);
		XMLHttpRequestObject.onreadystatechange = function() { 
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { 
				var returnxml = XMLHttpRequestObject.responseXML;
				if (mozillaFlag) {
					returnxml = removeWhitespace(returnxml);
				}
				callback(returnxml); 
				delete XMLHttpRequestObject;
				XMLHttpRequestObject = null;
			} 
		} 		
		XMLHttpRequestObject.send(null); 
	}
}

function postDataReturnText(url, data, callback) { 
	var XMLHttpRequestObject = false; 
	var returnvar = "";

	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if(XMLHttpRequestObject) {
		XMLHttpRequestObject.open("POST", url); 
		XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
		
		XMLHttpRequestObject.onreadystatechange = function() { 
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
				var respTxt = XMLHttpRequestObject.responseText;
				delete XMLHttpRequestObject;
				XMLHttpRequestObject = null;
				callback(respTxt);
			} 
		}
		XMLHttpRequestObject.send(data);
	}
}

function postDataReturnXml(url, data, callback) {
	var mozillaFlag = false;
	var XMLHttpRequestObject = false;
	
	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
		mozillaFlag = true;
	}
	else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if(XMLHttpRequestObject) {
		XMLHttpRequestObject.open("POST", url); 
		XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
		
		XMLHttpRequestObject.onreadystatechange = function() { 
			if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
				var returnxml = XMLHttpRequestObject.responseXML;
				if (mozillaFlag) {
					returnxml = removeWhitespace(returnxml);
				}
				callback(returnxml);
				delete XMLHttpRequestObject;
				XMLHttpRequestObject = null;
			}
		}
		
		XMLHttpRequestObject.send(data); 
	}
}

function removeWhitespace(xml) {
	var loopIndex;
	
	for (loopIndex = 0; loopIndex < xml.childNodes.length; loopIndex++) {
		
		var currentNode = xml.childNodes[loopIndex];
		
		if (currentNode.nodeType == 1) {
			removeWhitespace(currentNode);
		}
		
		if (((/^\s+$/.test(currentNode.nodeValue))) && (currentNode.nodeType == 3)) {
			xml.removeChild(xml.childNodes[loopIndex--]);
		}
	}
	return xml;
}

function checkInitGMap(populate,sethistory,mapstate) {
	if (sitesection == "search") {
		if (map == null) {
			if (GBrowserIsCompatible()) {
				$('mapcontainer').show();
				map = new GMap2($("mapv6"),{draggableCursor: 'move', draggingCursor: 'move'});
				map.addMapType(G_PHYSICAL_MAP);
				var mt = map.getMapTypes();
				// Overwrite the getMinimumResolution() and getMaximumResolution() methods
				for (i=0; i < mt.length; i++) {
					mt[i].getMinimumResolution = function() { return 3; }
					mt[i].getMaximumResolution = function() { return 16; }
				}
				//map.enableScrollWheelZoom();
				map.addControl(new GLargeMapControl(), new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(10,50)));
				map.addControl(new GScaleControl());
				var maptypec = new GMapTypeControl();
				var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(120,10));
				map.addControl(maptypec, topRight);
				map.addControl(new HtmlControl('<div id="maps_inclose"><a href="javascript:;" onclick="closeMapContainer()" class="closelink"><img src="/img/zoeken/engine6/maps/btn_closemap_'+taal+'.gif" border="0" /></a></div>'), new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,5))); 
				map.addControl(new HtmlControl('<div id="maps_info" style="display: none;"></div>'), new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(0,0))); 
				if (!Object.isUndefined(mapstate.lat)) {
					gozoom = false;
					map.setCenter(new GLatLng(Number(mapstate.lat), Number(mapstate.lon)), Number(mapstate.zoom));
				}
				else {
					map.setCenter(new GLatLng(51.18752, 5.51805), 4);
				}
				//map.setUIToDefault();
				map.setMapType(G_PHYSICAL_MAP);
				mgr = new MarkerManager(map);
				$('mapkeyword').onfocus = function () {
						if (this._cleared) {
							this.select();
							return
						}
						this.clear()
						this._cleared = true
				}
				
				if (populate == true && sethistory == true) {
					populateMap({});
				}
				
				GEvent.addListener(map, "moveend", function() {
					bound_sw = map.getBounds().getSouthWest();
					swlon = bound_sw.lng();
					swlat = bound_sw.lat();
					bound_ne = map.getBounds().getNorthEast();
					nelon = bound_ne.lng();
					nelat = bound_ne.lat();
					//alert("swlon="+swlon+"&swlat="+swlat+"&nelon="+nelon+"&nelat="+nelat);
				});
				dd.corsmap = 'open';
				map.checkResize();
			}
		}
		else {
			 $('mapcontainer').toggle();
			 if (isMapVisible()) {
				dd.corsmap = 'open';
				if (populate == true) {
					populateMap({});
				}
				map.checkResize();
			}
			else {
				dd.corsmap = '0';
			}
		}
		
		if (doScViewTracking == true) {
			s.prop1 = "search";
			s.pageName = (dd.corsmap == "open") ? "search:map view" : "search:list view";
			s.linkTrackEvents = "event2";
			s.events = "event2";
			//s.tl(this,'o','search_params');
			s.t();
			if (sethistory) {
				var jsonlist = getSearchParameters("json","y");
				new Ajax.Request("/ajax/aj_searchuri", { onSuccess: returnCheckInitGmap, method: "post", parameters: "list="+jsonlist });
			}
		}
		else { doScViewTracking = true; }
	}
	else {
		redirQPage(zoekuriv6+"/#corsmap=open");
	}
	//Effect.toggle('mapv6','slide', {duration:0.3});
}

function returnCheckInitGmap(data) {
	obj = data.responseJSON;
	$j.historyLoad(obj.crunchparams,false);
}

function isMapVisible() {
	return ($('mapcontainer').style.display != "none");
}

function isLayerVisible(layer) {
	return ($(layer).style.display != "none");
}

function redirQPage(uri) {
	//location.replace(uri);
	window.location = uri;
}

function Querystring_get(key, default_) {
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value;
}
function changeFlashQ(searchuri, name, selval,selname) {
	//iname = "a__"+name+"_"+selval;
	//regionselect by flash
	if (selval == "eur") { selval = "0"; }
	selectItem(name,selval,'');
	//Querystring(searchuri, name, selval, "flash");
}
function changeQ(searchuri, selbox) {
	$("sbutton_dd").href = "#";
	var name = selbox.name;
	var selval = selbox.options[selbox.selectedIndex].value;
	if (name == "rgsk_rgo") {
		if (selval.substring(0,2) == "s_") {
			name = "rgsk";
		}
		else {
			name = "rgo";
		}
		selval = selval.substring(2);
	}
	else if (name == "rgo") {
		if (isNumber(selval)) {
			name= "sup";
		}
	}
	Querystring(searchuri, name, selval, "selbox");
}

function setStyle(objId, style, value){
	$(objId).style[style]= value;
}

function setVisibility(objId, sVisibility) {
	/*sVisibility - "visible" | "inherit" | "none" (case insensitive) */
	var obj = $(objId);
	obj.style.visibility = sVisibility;
}
function encodeMyHtml(input) {
	encodedHtml = escape(input);
	encodedHtml = encodedHtml.replace(/\//g,"%2F");
	encodedHtml = encodedHtml.replace(/\?/g,"%3F");
	encodedHtml = encodedHtml.replace(/=/g,"%3D");
	encodedHtml = encodedHtml.replace(/&/g,"%26");
	encodedHtml = encodedHtml.replace(/@/g,"%40");
 	return encodedHtml;
 } 


function isNumber(val) {
	if (isNaN(val)) {
		return false;
	}
	else {
		return true;
	} 
}
function toggleDiv(divname) {
	container = $(divname);
	if (container.style.display == "block") container.style.display = "none";
	else container.style.display = "block";
}
var state = 'none';
function hideshow(layer_ref,modus) { 
	if (modus == "swap") {
		state = document.getElementById(layer_ref).style.display;
		if (state == 'block') { 
			state = 'none'; 
		} 
		else { 
			state = 'block'; 
		}
	}
	else if (modus == "show") {
		state = 'block';
	}
	else if (modus == "hide") {
		state = 'none';
	}
	
	if (document.all) { //IS IE 4 or 5 (or 6 beta) 
		eval("document.all." + layer_ref + ".style.display = state"); 
	} 
	if (document.layers) { //IS NETSCAPE 4 or below 
		document.layers[layer_ref].display = state; 
	} 
	if (document.getElementById && !document.all) { 
		hza = document.getElementById(layer_ref); 
		hza.style.display = state; 
	} 
} 
function doDdBlur(elem) {
	if (last_dd != null) {
		$("list_dd_"+last_dd).hide();
	}
}

function getDdParamList(ddname,forcename,delval) {
	var list = Object.clone(dd);
	list.dropdown = ddname;
	list.forcename = forcename;
	if (delval != false) {
		list.delval = delval;
	}
	return Object.toJSON(list);
}

function getSearchParameters(output,sethistory) {
	var list = Object.clone(dd);
	if (!Object.isUndefined(list.dropdown)) {
		delete list.dropdown;
	}
	if (output != "") {
		list.output = output;
	}
	if (sethistory != "") {
		list.sethistory = sethistory; 
	}
	return Object.toJSON(list);
}

function getDdValueString(output) {
	var list = Object.clone(dd);
	if (output != "") {
		list.output = output;
	}
	return Object.toQueryString(list);
}

function loadCal(mnd,modus,monthname) {
	if (mnd == '' && dd.mnd != '0') {
		mnd = dd.mnd;
	}
	dd.mnd = mnd;
	loadDropdown('ad','changeA');
}

function handleDayDiff() {
	if ($("a__chkdaydiff").checked == true) { var chkdaydiff = 1; }
	else { var chkdaydiff = 0; }
	var txtdaydiff = $("a__txtdaydiff").value;
	new Ajax.Request("/ajax/aj_calendar_daydiff", { method: "post", parameters: "chkdaydiff="+chkdaydiff+"&txtdaydiff="+txtdaydiff });
}

function autoCheckDayDiff() {
	$("a__chkdaydiff").checked = true;
	handleDayDiff();
}
function selectDay(param, val, itemtxt) {
	if ($("a__chkdaydiff")) {
		if ($("a__chkdaydiff").checked) {
			txtdaydiff = $("a__txtdaydiff").value;
			if (Object.isNumber(Number(txtdaydiff))) {
				if (txtdaydiff > 0) { val += txtdaydiff; }
			}
		}
	}
	selectItem(param, val, itemtxt)
}
function isLayerDisplayed(dropdownid) {
	display = $(dropdownid).getStyle('display');
	if (display == "" || display == "none") {
		return false;
	}
	else {
		return true;
	}
}
function selectItem(param, val, itemtxt) {
	dd[param] = val;
	checkUnsetDdVals(param,val);
	forcename = false;
	if (itemtxt != "" && itemtxt != "null") { updateDdValue(param,itemtxt); }
	else if ($("a__"+param+"_"+val) != null) { updateDdValue(param, $("a__"+param+"_"+val).innerHTML); }
	else { forcename = true;  }
	params = getDdParamList(param,forcename,false);
	hideLastDropdown();
	switch (param) {
		case "rgo":	changeJsRegion(val); break;
		case "mnd": deleteSearchParam('ad','x','n'); break;
	}
	new Ajax.Request("/ajax/aj_handleparameters", { onSuccess: returnSelectItem, method: "post", parameters: "list="+params });
}
function returnSelectItem(data) {
	obj = data.responseJSON;
	//if (!Object.isUndefined(obj.time)) alert(obj.time);
	if (!Object.isUndefined(obj.set)) {
		obj.set.each(function(itm) {
			dd[itm.param] = itm.val;
			if (!Object.isUndefined(itm.text)) {
				updateDdName(itm.param,itm.text);
			}
			if (!Object.isUndefined(itm.pulsate)) {
				if ($("dd_"+itm.param)) { pulsateDd("dd_"+itm.param); }
			}
		});
	}
	
	if (!Object.isUndefined(obj.ddname)) {
		obj.ddname.each(function(itm) { $("dd_"+itm.param).update(itm.value); });
	}
	
	if (!Object.isUndefined(obj.flashmap)) { loadFlashMap(obj.flashmap,''); }
	
	if (obj.reloadsearch == "y") { goSearch("json","y"); }
}

function checkUnsetDdVals(param,val) {
	switch (param) {
		case 'rgo' : dd['page'] = '0'; dd['sup'] = '0'; dd['rgsk'] = '0'; break;
		case 'sup' : dd['page'] = '0'; dd['rgo'] = '0'; dd['rgsk'] = '0'; break;
		case 'rgsk': dd['page'] = '0'; dd['rgo'] = '0'; dd['sup'] = '0'; break;
		case 'page': 
			if (val == 1) { dd['page'] = '0'; }
			break;
		default: dd['page'] = '0'; dd['orgkw'] = '0'; break;
	}
}

function changeJsRegion(rgo) {
	if (!Object.isUndefined(maploader)) {
		maploader.jsChangeRegion(rgo);
	}
}

function updateDdName(param,text) {
	if (param == "sup" || param == "rgsk") { param = "rgo" }
	else if (param == "nig") { param = "verb" }
	if ($("dd_"+param) && text != "") {
		$("dd_"+param).update(text);
		if (param == "apers_max") { }
	}
}

function pulsateDd(ddname) {
	Effect.Pulsate(ddname, { pulses: 1, duration: 0.3 });
}

function updateDdValue(param,value) {
	if (param == "sup" || param == "rgsk") { param = "rgo" }
	else if (param == "nig") { param = "verb" }
	if ($("dd_"+param)) {
		value = String(value);
		if (value.length > 22) {
			$("dd_"+param).update(value.substring(0,22)+"&hellip;");
		}
		else {
			$("dd_"+param).update(value);
		}
	}
}

function highlightRegion(rgo,method) {
	if (!Object.isUndefined(maploader)) {
		maploader.highlightRegion(rgo,method);
	}
}

function loadFlashMap(map,rgo) {
	if (!Object.isUndefined(maploader)) {
		if (rgo == '0' || Object.isUndefined(rgo)) { rgo = '' }
		maploader.loadFlashMapInternal(map,"jscall",rgo);
	}
}	

function changeSearchParam(obj,param, val) {
	if (!Object.isUndefined(dd[param])) {
		if (Object.isArray(dd[param]) && param != "st") {
			var inarray = false;
			for (i=0; i < dd[param].length; i++) {
				if (dd[param][i] == val) {
					dd[param].splice(i,1);
					inarray = true;
					break;
				}
			}
			if (!inarray) {
				dd[param].push(val);
			}
		}
		else {
			dd[param] = val;
		}
		if (param != "page") {
			dd.page = '0';
		}
		dd.orgkw = '0';
		goSearch("json","y");
	}
}
function deleteSearchParam(param,delval,reloadit) {
	params = getDdParamList(param,false,delval);
	new Ajax.Request("/ajax/aj_handleparameters", { onSuccess: returnSelectItem, method: "post", parameters: "reload="+reloadit+"&list="+params });
}

function goSearch(type,sethistory) {
	//type = "normal";
	var jsonlist = getSearchParameters(type,sethistory);
	new Ajax.Request("/ajax/aj_searchuri", { onSuccess: returnGoSearch, method: "post", parameters: "list="+jsonlist });
}

function returnGoSearch(data) {
	obj = data.responseJSON;
	
	if (sitesection == "search") { 
		hashouses = (Object.isUndefined(obj.nohouses)) ? "1" : "0";
		//setHbxValues(hashouses); 
	}
	if (obj.output == "json") {
		if (obj.sethistory == "y") {
			$j.historyLoad(obj.crunchparams,false);
		}
		reloadResults(obj.crunchparams);
	}
	else {
		searchurl = zoekuriv6+"/#"+obj.crunchparams;
		redirQPage(searchurl);
	}
}

function setHbxValues(hashouses) {
	hbxkeywords = (dd.orgkw == '0') ? "(dropdowns gebruikt)" : dd.orgkw;
	attr1 = (dd.land == '0') ? "alle landen" : dd.land;
	attr2 = (dd.rgo == '0') ? "alle regios" : dd.rgo;
	attr3 = (dd.mnd == '0') ? "alle maanden" : dd.mnd;
	attr4 = (dd.verb == '0') ? "alle verlijven" : dd.verb;
	_hbSet('search.keywords',hbxkeywords);
	_hbSet('search.attr1',attr1);
	_hbSet('search.attr2',attr2);
	_hbSet('search.attr3',attr3);
	_hbSet('search.attr4',attr4);
	_hbSet('search.results',hashouses);
	_hbSend();
}

function clearSearch() {
	$j.historyLoad("",true);
}

function showTravelAgencySignin(title) {
	Shadowbox.open({
		title: 		title,
		player:     "iframe",
		content:    "/agency?mode=signin",
		height:     275,
		width:      600
	});
}
function getTravelAgencySignin() {
	new Ajax.Request("/content/aj_windows/agency/aj_signin.php", { 
		parameters: 'code='+encodeMyHtml($('agencycode').value),
		onSuccess: function(data) {
			res = data.responseJSON;
			if (!Object.isUndefined(res.result)) $('agencyresult_box').update(res.result).show();
		}
	});
}

function doTravelAgencySignin(code) {
	new Ajax.Request("/content/aj_windows/agency/aj_signin_set.php", { 
		parameters: 'code='+code,
		onSuccess: function(data) {
			res = data.responseJSON;
			if (!Object.isUndefined(res.error)) $('agencyresult_box').update(res.error);
			else if (!Object.isUndefined(res.code_set)) window.parent.location.reload();
		}
	});
}

/*function returnSetTravelAgency(xml) {
	var error = xml.getElementsByTagName("error");
	if (error.length > 0) {
		$("tainfo").update(error[0].firstChild.data);
	}
	var cs = xml.getElementsByTagName("codeset");
	if (cs.length > 0) {
		if (cs[0].firstChild.data == "y") {
			window.parent.location.reload();
		}
	}
}*/

function reloadResults(params) {
	showLoadingResults();
	new Ajax.Request('/ajax/aj_search', { onSuccess: returnReloadResults, method: "post", parameters: params });
}

function returnReloadResults(data) {
	obj = data.responseJSON;
	if (forceddnames) {
		forceddnames = false;
		if (!Object.isUndefined(obj.varnames)) {
			obj.varnames.each(function(varname) { updateDdName(varname.k,varname.v); });
		}
	}
	if (!Object.isUndefined(obj.nohouses)) { 
		$('nohouses').show(); 
		$('resultcontainer').update("");
	}
	else { 
		$('nohouses').hide(); 
		listcontent = (!Object.isUndefined(obj.listcontent)) ? obj.listcontent : "&nbsp;";
		$('resultcontainer').update(listcontent);
	}
	leftbarcontent = (!Object.isUndefined(obj.leftbarcontent)) ? obj.leftbarcontent : "&nbsp;";
	mysearchcontent = (!Object.isUndefined(obj.mysearchcontent)) ? obj.mysearchcontent : "&nbsp;";
	if (!Object.isUndefined(obj.orgkw)) { 
		$('keyword').value = obj.orgkw;
		mainsearchtext = true;
	};
	$('as_selection_container').update(leftbarcontent);
	$('ysearch').update(mysearchcontent);
	if (!Object.isUndefined(obj.debug)) { $('crumbsbar').update(obj.debug); }
	
	if (!Object.isUndefined(obj.funct)) { obj.funct.each(function(f) { eval(f); }); }
	if (isMapVisible()) { populateMap({}); }
	else { hideLoadingResults(); } 
	offtop = document.viewport.getScrollOffsets().top;
	containerbottom = ($("resultcontainer").positionedOffset().top + $('resultcontainer').getDimensions().height - 50);
	if ((offtop > containerbottom) || pageclick == "down") { 
		pageclick = null;
		Effect.ScrollTo('contentcontainer');
	}
	if (!Object.isUndefined(obj.sc) && checkSc()) {
		setScTracking(obj.sc,obj.scprop,"event2");
	}
}

function showLoadingResults() {
	$('as_selection_container').setOpacity(0.3);
	$('maincontent').setOpacity(0.3);
	toppx = (document.viewport.getDimensions().height/2) - 24 + document.viewport.getScrollOffsets().top;
	leftpx = $('resultcontainer').getWidth();
	$('searchloading').setStyle({top:toppx+' px',left:leftpx+' px'});
	$('searchloading').show();
}

function hideLoadingResults() {
	$('searchloading').hide();
	$('maincontent').setOpacity(1);
	$('as_selection_container').setOpacity(1);
	$('resultcontainer').highlight({duration:1, startcolor:"#EAF0CE", restorecolor:"#FFFFFF"});
}

function getCorsParamList() {
	return Object.toJSON(dd);
}

function getPoiParamList() {
	return pois.toJSON();
}

function populateMap(extrapars) {
	corsparams = getCorsParamList();
	poilist = getPoiParamList();
	epars = Object.toJSON(extrapars);
	params = "list="+corsparams+"&poilist="+poilist+"&extraparams="+epars;
	new Ajax.Request("/ajax/aj_cors", { onSuccess: returnPopulateMap, method: "post", parameters: params });
}

function returnPopulateMap(data) {
	var obj = data.responseJSON;
	if (!Object.isUndefined(obj.error)) {
		if (!Object.isUndefined(obj.removeoverlays)) {
			map.clearOverlays();
		}
		setMapsTopInfo(obj.error,"error",true);
	}
	else if (!Object.isUndefined(obj.data)) {
		map.clearOverlays();
		if (dd.cors != "0") {
			if (!Object.isUndefined(obj.polygon)) {
				clearMap();
				redrawPolygon(obj.polygon);
				gozoom = false;
			}
			else if (!Object.isUndefined(obj.radius)) {
				redrawCircle(obj.radius);
				gozoom = false;
			}
		}
		
		if (!Object.isUndefined(obj.infotext)) {
			setMapsTopInfo(obj.infotext,"info",true);
		}
		else {
			hideMapsMessage();
		}
		
		bounds = new GLatLngBounds;
		if (!Object.isUndefined(obj.pois)) {
			obj.pois.each(function(itm) {
				var latlng = new GLatLng(itm.lat,itm.lon);
				bounds.extend(latlng); 
				map.addOverlay(new MarkerLight(latlng,  {markertype: "poi", poi_num: itm.poi_num, image:  "/img/poi/list/"+itm.poi_type_num+".png", width: 18, height:20}));
			});
		}
		
		
		obj.data.each(function(itm) {
			var latlng = new GLatLng(itm.lat,itm.lon);
			bounds.extend(latlng); 
        	map.addOverlay(new MarkerLight(latlng,  {markertype: "house", hc:itm.hc , image:  "/img/googlemaps/bv5.png", width: 18, height:20}));
		});
		
		if (!Object.isUndefined(obj.zoom)) { gozoom = obj.zoom}
		
		if (gozoom) {
			zoomlevel = map.getBoundsZoomLevel(bounds);
			if (zoomlevel > 11) { zoomlevel = 11; }
			map.setCenter(bounds.getCenter(), zoomlevel);
			map.setZoom(zoomlevel);
		}
		else { gozoom = true; }
		
		if (!Object.isUndefined(obj.poitypelist)) {
			$('mappoilist').update(obj.poitypelist);
		}
	}
	hideLoadingResults();
}

function changeSort() {
	val = $('sort').getValue();
	changeSearchParam(dd,'sort',val);
}

function createStarSlider(min_ster,max_ster) {
	starmin = 1;
	starmax = 5;
	totrange = $R(starmin,starmax);
	starslider = new Control.Slider(['starslider1','starslider2'],'startrack',{ 
		sliderValue:[min_ster,max_ster], range:totrange, 
		onSlide:function(v){ 
			if (v[0] > starmin && $('starslider1').getStyle('z-index') != 2) { $('starslider1').style.zIndex = 2; $('starslider2').style.zIndex = 1; }
			if (v[1] < starmax && $('starslider2').getStyle('z-index') != 2) { $('starslider1').style.zIndex = 1; $('starslider2').style.zIndex = 2; }
			currange = $R(v[0],v[1]);
			totrange.each(function(star) {
				modus = (currange.include(star)) ? "on" : "off";
				if ($('star'+star)) { $('star'+star).src = "/img/sliders/stars/st"+star+"_"+modus+".gif"; }
			});
		}, 
		onChange:function(v){
			if (v[0] == starmax) { $('starslider1').style.zIndex = 2; $('starslider2').style.zIndex = 1; }
			if (v[1] == 1) { $('starslider1').style.zIndex = 1; $('starslider2').style.zIndex = 2; }
			if (v[0] != min_ster || v[1] != max_ster) { changeSearchParam(dd,'st',v); }
		}, 
		values:[1,2,3,4,5], 
		restricted:true
	});
}
strr = "";
function createSleepSlider(rooms) {
	roommin = 0;
	roommax = 6;
	totrange = $R(roommin,roommax);
	sleepslider = new Control.Slider('sleepslider1','sleeptrack',{ 
		sliderValue: rooms,range:totrange, 
		values:[0,1,2,3,4,5,6],
		onSlide:function(v){ 
			totrange.each(function(i) {
				modus = (rooms == i) ? "on" : "off";
				$('sleep'+i).src = "/img/sliders/sleep/sl"+i+"_"+modus+".gif";
			});
		},
		onChange:function(v){
			changeSearchParam(dd,'sl',v);
		}
	});
}
function getHouseMapInfo(huiscode,lat,lon,zoom) {
	if (huiscode != cors_poi) {
		params = "huiscode="+huiscode+"&lat="+lat+"&lon="+lon+"&zoom="+zoom;
		new Ajax.Request("/ajax/aj_cors_house", { onSuccess: returnGetMapInfo, method: "post", parameters: params });
	}
}

function returnGetMapInfo(data) {
	var obj = data.responseJSON;
	if (!Object.isUndefined(obj.error)) {	
		alert(obj.error);
	}
	else {
		$('maprightinfo').update(obj.info);
		showMapInfo();
		if (!Object.isUndefined(obj.huiscode)) {
			cors_poi = obj.huiscode;
		}
		else if (!Object.isUndefined(obj.huiscode)) {
			cors_poi = obj.poi_num;
		}
	}
}

function showMapInfo() {
	$('poilist').hide();
	Effect.SlideDown('maprightinfo', {duration:0.2});
}

function closeMapInfo() {
	Effect.SlideUp('maprightinfo', {duration:0.2}); 
	$('poilist').show();
	cors_poi = null;
}

function getPoiInfo(poi) {
	if (poi != cors_poi) {
		new Ajax.Request("/ajax/aj_cors_poi", { onSuccess: returnGetMapInfo, method: "post", parameters: "poi="+poi });
	}
}

function hideMapsMessage() {
	$('maps_info').hide();
}

function showMapsMessage(message,type,showclose) {
	setMapsTopInfo(message,type,showclose);
}

function setMapsTopInfo(text,type,addclose) {
	if (!isLayerVisible('maps_info')) {
		//Effect.toggle('maps_info', 'slide', { delay: 0.5 });
		$('maps_info').show();
	}
	$('maps_info').className = type;
	if (addclose == true) { $('maps_info').update(text+' <a href="javascript:;" class="closelink" onclick="$(\'maps_info\').hide()">'+gentrans['sluit']+'</a>'); }
}

function doCorsSearch(corsval) {
	dd.cors = corsval;
	params = getDdParamList('cors',false,false);
	new Ajax.Request("/ajax/aj_handleparameters", { onSuccess: returnSelectItem, method: "post", parameters: "list="+params });
}

function findPos(element) {
	var obj = $(element);
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	if (element == "btn_map2") {
		curleft += 95;
		curtop -= 40;
	}
	return [curleft,curtop];
}

function closeMapContainer() {
	checkInitGMap(true,true,'');
}

function doEnvSearch(val) {
	dd.land = '0'; dd.rgo = '0'; dd.rgsk = '0'; dd.plts = '0';
	selectItem('cors', val, '');
}

function mapsOrderOfCreation(marker,b) {
	return 2008;
}

function goToPage(page,place) {
	pageclick = place;
	changeSearchParam(dd,'page',page);
}

function updateMapPoi(poi_type,action) {
	if (action == "add") {
		pois.push(poi_type);
	}
	else {
		for (i=0; i < pois.length; i++) {
			if (pois[i] == poi_type) {
				pois.splice(i,1);
				break;
			}
		}
	}
	populateMap({mapaction: action+"_poi_type", type_num: poi_type});
}

function updateMapPoi_v2(poi_type) {
	if ($('chkpoi'+poi_type).checked == true) {
		action = "add";
		pois.push(poi_type);
	}
	else {
		action = "del";
		for (i=0; i < pois.length; i++) {
			if (pois[i] == poi_type) {
				pois.splice(i,1);
				break;
			}
		}
	}
	populateMap({mapaction: action+"_poi_type", type_num: poi_type});
}

function checkSc() {
	return (typeof(s) != "undefined") ? true : false;
}

function setScTracking(props,scvars,scevent) {
	if (setScViewTrackingAfterSearch == true) { 
		setScViewTrackingAfterSearch = false;
		s.prop1 = "search";
		s.pageName = (dd.corsmap == "open") ? "search:map view" : "search:list view"; 
	}
	//var s = s_gi(s_account);
	s.linkTrackVars = scvars;
	s.linkTrackEvents = scevent;
	props.each(function(itm) { s[itm.prop] = itm.val; });
	if (sc_campaign != "") {
		s.campaign = sc_campaign;
		sc_campaign = "";
	}
	else { s.campaign = ""; }
	s.events = scevent;
	//s.tl(this,'o','search_params');
	s.t();
}

function doScTrackFilterSearch() {
	if (checkSc()) {
		s.trackFilterSearch();
	}
}

function checkMainSearchText(state) {
	if (state == 'focus') {
		if (mainsearchtext == false) { 
			mainsearchtext_orig = $('keyword').value;
			$('keyword').value = "";
		}
		else { $('keyword').select(); }
	}
	else if (state == 'blur') {
		if ($('keyword').value == "") { $('keyword').value = mainsearchtext_orig; }
		else { mainsearchtext = true; }
	}
	else if (state == 'enter' && $('keyword').value != "") { mainsearchtext = true; }
	
	return mainsearchtext;
}

function doCmsSignOut() {
	new Ajax.Request("/content/cms/signin/process", { 
		parameters: "action=signout",
		onSuccess: function() { window.location.reload(true); }
	});
}