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;
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;
var keyword_suggestions = 0;
var keyword_suggestions_data = {};
var extented_search = true;
var searchtext = new Array();
var searchtext_orig = new Array();
var rgokws_loaded = false;
var mapLoaded = false;

function load() {
	/* */
}

function loadAPI(check) {
	if(mapLoaded == false){
		gLoadCount(check);
		var script = document.createElement("script");
		script.src = "http://maps.googleapis.com/maps/api/js?v=3.6&sensor=false&callback=loadMaps&key=AIzaSyA-vptHBE7v5o7WrXZWcyj7AaYNsmHdfGM";
		script.type = "text/javascript";
		document.getElementsByTagName("head")[0].appendChild(script);
	
		mapLoaded = true;
	} else {
		loadMaps();
	}
}

function loadMaps()
{
	google_adding();	
	init(border);
}

function gLoadCount(check){
	$j.post("/ajax/aj_gloadcount",{v:check});
}

document.observe("dom:loaded", function() {
	searchurl = zoekuriv6+"/#";
	
	if  (ondev == false) {
		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 (sitesection == "search") { $j.historyInit(historypageload); }
	else if (sitesection == "hb") { 
		//Shadowbox.init({skipSetup:true})
		saveSearchResult("a"); 
	}
	
	$$('span[title]').each(function(elem) {
			if(!elem.hasClassName('noclick')) {
				elem.onclick = dospanclick;
			}
			elem.className = 'spanclick';
			elem.onmouseover = dospanmouseover;
			elem.onmouseout = dospanmouseout;
	});
	
	//if (!Object.isUndefined(Shadowbox)) { Shadowbox.init({skipSetup:true}) };

	$j(function() {
		
		/*$j('.cycler').cycle({ 
			fx: cycler_type, 
			sync: true, 
			pause: 1, 
			timeout: 5000, 
			next: '#cyclerlink_right', 
			prev: '#cyclerlink_left', 
			cssBefore: { width:'728px', height:'327px' } 
		}); */
		$j("#keyword").catcomplete({
				delay: 100,
				minLength: 2,
				source: 
					function(request, response) {
						$j.ajax({
							url: "/zoeken/engine6/aj_suggestplace_v5.php",
							dataType: "json",
							data: {
								value: request.term
							},
							beforeSend: function () {
								keyword_suggestions = 0;
								keyword_suggestions_data = {};
							},
							complete: function() {
								$j('.ui-autocomplete').css('z-index','4');
							},
							success: function( data ) {
								response( $j.map( data.r, function( item ) {
									cat = (data.c !== undefined) ? data.c[item.cat] : 0;
									val2 = (item.v2 !== undefined) ? item.v2 : "none";
									ret =  {
										label: item.t,
										category: cat,
										param: item.p,
										val: item.v,
										val2: val2,
										sterm: item.sterm,
										orgkw: data.orgkw
									}
									if (data.set_sugg_data !== undefined) {
										keyword_suggestions = 1;
										keyword_suggestions_data = ret;
									}
									return ret;
								}));
							}
						});
					},
				focus: function (event,ui) {
					return false;
				},
				select: function (event,ui) { 
					handleKeywordSuggestionsData(ui.item,true,"main");
					extented_search = false;
					return false;
				}
		});

		$j("#keyword").keyup(function(e){ 
			if (e.keyCode == 13){ 
				$j("#keyword").catcomplete("close");
				if (extented_search == false) { extented_search = true; }
				else {
					checkMainSearchText('enter');
					investigateKeyword();
				}
			} 
		}).focus(function () {
			checkMainSearchText('focus');
		}).blur(function() {
			checkMainSearchText('blur');
		});
		
		/*if (isiPad()) {
			$j(window).scroll(
				function() { 
					$j("#docking_v2").css("top", ($j(window).height() + $j(document).scrollTop() - 34) +"px"); 
				} 
			);
		} */
	});
	//
	
}); 

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 || $j('#keyword').val() == "") { alert(gentrans["mssgvulkeyw"]); }
	else if (keyword_suggestions == 1) {
		handleKeywordSuggestionsData(keyword_suggestions_data,false,"investig");
	}
	else {
		var params = "section=1&keyword="+$j('#keyword').val();
		new Ajax.Request("/ajax/investigatekeyword", { onSuccess: returnInvestigateKeyword, method: "post", parameters: params });
	}
}

function returnInvestigateKeyword(data) {
	var obj = data.responseJSON;
	test = obj.redir;
	
	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)) {
			$("freesearch_kw_sugg").show();
			$("freesearch_kw_sugg").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);
					
					if(dd.corsmap == 'open'){
						checkr = test.split('&');
						for (var i = 0; i <= checkr.length;  i++) {
							if(typeof(checkr[i]) != 'undefined'){
								param = checkr[i].split('=');
								if(param[0] == 'pl'){
									dd.pl = param[1];
								}
							}
						}
						
						if(dd.cors.length == 34){
							place_box_fixed(dd.cors);
						} else if (dd.cors != '0') {
							place_radius_fixed(dd.cors,true);
						} else if (dd.cors == '0') {
							getHuizenNoCors('1',test);	
						}
					}
				}
				else { 
					
				redirQPage(obj.domain+zoekuriv6+"/#"+redir); }
			}
			else if (!Object.isUndefined(obj.pageredir)) {
				redirQPage(obj.pageredir);
			}
		}
	}
	$("ajloader").hide();
}

function handleKeywordSuggestionsData(ui_item,selectedfromlist,source) {
	if (ui_item.param == "term") { investigateKeyword(); }
	else {
		var redir = ui_item.param+"="+ui_item.val;
		if (source == "dd_rgo") redir += "&land="+dd.land;
		if (ui_item.val2 !== "none") redir += "&subpl="+ui_item.val2;
		if (selectedfromlist) { 
			redir += "&orgkw="+ui_item.sterm;

			params = { vars: ui_item }
			params = Object.toJSON(params);
			new Ajax.Request("/ajax/aj_insertkeywordstatsentry", { method: "post", parameters: "params="+params });
		} else { redir += "&orgkw="+ui_item.orgkw; }
		
		if (redir != "") {
			if (sitesection == "search") { 
				if(dd.corsmap == 'open'){
					checkMap(dd.corsmap,1);
					if(dd.cors.length == 34){
						place_box_fixed(dd.cors);
					} else if (dd.cors != '0') {
						place_radius_fixed(dd.cors,true);
					} else if (dd.cors == '0') {
						getHuizenNoCors('1');	
					}
				}
				$j.historyLoad(redir,true); 
			}
			else { 
				domain = "http://"+document.domain;
				redirQPage(domain+zoekuriv6+"/#"+redir); 
			}
		}
		return false;
	}
}

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);
		if (ondev) { setDdLoading(ddname,true); }
		else { $('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;
			
			if (ondev) { /* regiv2*/ 
				setDdLoading(ddname,true);
			}
			else { /* deprecated in regiv2 */
				$('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); }
			}
			
			if ($('docking_container')) {
				offtop = document.viewport.getScrollOffsets().top;
				eoff = $('dd_rgo').viewportOffset().top;
				doff = $('docking_container').viewportOffset().top + offtop;
				maxheight = doff - eoff - 120;
				params += "&maxheight="+maxheight;
			}
			new Ajax.Request("/ajax/aj_dropdowncount_json", { onSuccess: returnLoadDropdown, method: "post", parameters: params });
		}
	}
}

function returnLoadDropdown(data) {
	var obj = data.responseJSON;
	
	if (ondev) { /* regiv2, loader element in dropdown*/
		$('list_dd_'+obj.dropdowndata.dropdown).show();
		setDdLoading(obj.dropdowndata.dropdown,false);
	}

	elem = $(obj.dropdowndata.id).update(obj.dropdowndata.content);
	if (obj.dropdowndata.dropdown == "ad" && dd.mnd != '0') {
		dd.mnd = '0';
		updateDdName("mnd","- "+gentrans['allmnd']+" -");
	}
	else if(obj.dropdowndata.dropdown == "rgo" && rgokws_loaded == false && ondev) { /* regiv2 */
		assignRgoKeywordSearch();
		/*rgokws_loaded = true; */
	}
	if (!Object.isUndefined(obj.debug)) { 
		$('crumbsbar').update(obj.debug); 
	}
	if (!Object.isUndefined(obj.apers_list)) { 
		apers_list = obj.apers_list;
	}
	//hideshow(dropdownid,'show');
}

function setDdLoading(ddname,show) {
	if (show) {
		$("dd_"+ddname).addClassName('ddbox_v8_loading');
		$("dd_v8_load_"+ddname).show();
	}
	else {
		$("dd_"+ddname).removeClassName('ddbox_v8_loading');
		$("dd_v8_load_"+ddname).hide();
	}
}

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;
}

*/
/**
* geocoder
*/
function geocode(opts) {
	function geocodeResult(response, status) {
		if (status == google.maps.GeocoderStatus.OK && response[0]) {
			//document.getElementById("search").value = response[0].formatted_address;
			//console.debug(response[0].geometry.location);
			//map.fitBounds(response[0].geometry.viewport);
		} else {
			alert("Sorry, " + status);
		}
	} // trim leading and trailing space with capable browsers
	if(opts.address && opts.address.trim)opts.address = opts.address.trim();
	if(opts.address || opts.latLng)geocoder.geocode(opts, geocodeResult); // no empty request
} 
function checkMapSearch(check) {
	if(check == "open"){
		loadAPI();
	}
}

function checkMap(check,controle){
	if (sitesection == "search") {
		if(check == "open" & controle != '1'){
			$j('#mapcontainer').hide();
			dd.corsmap = '0';
		}
		else if(check == "0"){
			dd.corsmap = 'open';
			loadAPI();
			$j('#mapcontainer').show();
		}
	} else {
		redirQPage(zoekuriv6+"/#corsmap=open");
	}

}

function checkInitGMap(populate,sethistory,mapstate) {
	if (sitesection == "search") {
		if (map == null) {
				/*
				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.enableScrollWheelZoom();
				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);
				});
				*/
			google.maps.event.trigger(map, 'resize');
			google.maps.event.trigger(map, 'resize');
			map.fitBounds(bounds);
		} else {
			if(dd.corsmap == '0'){
				$j('#mapcontainer').show();
	 			google.maps.event.trigger(map, 'resize');
	 			google.maps.event.trigger(map, 'resize');
				map.fitBounds(bounds);
			} else {
				 $j('#mapcontainer').hide();
			}
		}
		
		if (doScViewTracking == true) {
			if (typeof(s) != "undefined") {
				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 {
	 			google.maps.event.trigger(map, 'resize');
	 			google.maps.event.trigger(map, 'resize');
				map.fitBounds(bounds);
			}
		}
		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":	
			if (!ondev) { changeJsRegion(val); /* REGIONV2, deprecated*/ }
			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(dd.corsmap == 'open'){
		mapReset();
		if(dd.cors.length == 34){
			goSearch("json","y")
			place_box_fixed(dd.cors);
		} else if (dd.cors != '0') {
			goSearch("json","y")
			place_radius_fixed(dd.cors,true);
		} else if (dd.cors == '0') {
			goSearch("json","y")
			getHuizenNoCors('1');
		}
		
		google.maps.event.trigger(map, 'resize');
		google.maps.event.trigger(map, 'resize');
		
		if(pois.length > 1 || typeof(pois.error) != "undefined" ){
			map.fitBounds(bounds);
		} else {
			center = new google.maps.LatLng(pois[0][0],pois[0][1]);
			map.setCenter(center);
			map.setZoom(10);
		}
	} else {
		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) {
	/* V1, deprecated*/
	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 (ondev) { /* regiv2 */
		if (rgo == '0' || rgo == '') {
			var mapselect_type = 'land';
			var mapselect_val = map;	
		}
		else {
			var mapselect_type = 'rgo';
			var mapselect_val = rgo;
		}

		var flashmap = document.getElementById("map_regions");
		flashmap.changeRegioSelectionJS(mapselect_type,mapselect_val);
	}
	else 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");
		if (sitesection == "search") { 
			if(dd.corsmap == 'open'){
				checkMapSearch(dd.corsmap);
				goSearch('json','y');	
			} else {
				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";
			
	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";
		updatePvctSearchQuery(obj.crunchparams);
		//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 = 'http://'+document.domain;
		}
	});
}


/*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;

	border = obj.euroborders;

	if (forceddnames) {
		forceddnames = false;
		if (!Object.isUndefined(obj.varnames)) {
			obj.varnames.each(function(varname) { updateDdName(varname.k,varname.v); });
		}
	}
	
	leftbarcontent = (!Object.isUndefined(obj.leftbarcontent)) ? obj.leftbarcontent : "&nbsp;";
	mysearchcontent = (!Object.isUndefined(obj.mysearchcontent)) ? obj.mysearchcontent : "&nbsp;";
	
	if (!Object.isUndefined(obj.nohouses)) { 
		$('nohouses').show(); 
		$('resultcontainer').update("");
		$('ysearch_nohouses').update(mysearchcontent);
	}
	else { 
		$('nohouses').hide(); 
		listcontent = (!Object.isUndefined(obj.listcontent)) ? obj.listcontent : "&nbsp;";
		
		$('resultcontainer').update(listcontent);
		
		$('ysearch').update(mysearchcontent);
	}
	
	$('as_selection_container').update(leftbarcontent);
	
	if (!Object.isUndefined(obj.dzyre)) {
		tb_init('a.thickbox, input.thickbox');
	}
	
	if (!Object.isUndefined(obj.orgkw)) {
		$j('#keyword').val(obj.orgkw);
		mainsearchtext = true;
	};

	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"); }
	if (!Object.isUndefined(obj.ydv)) { Element.insert("search_ifr",'<iframe name="ydv" id="ydv" src="'+obj.ydv+'" style="visibility:hidden" />'); }
	if (!Object.isUndefined(obj.adw_ret)) { Element.insert("search_ifr",'<iframe name="adw_ret" id="adw_ret" src="'+obj.adw_ret+'" style="visibility:hidden" />'); }

	if (!Object.isUndefined(border) && map == null && dd.corsmap == "open") { loadAPI(); }
	hideLoadingResults();
}

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 Object.toJSON(pois);
}

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 createBathroomSlider(rooms) {
	roommin = 0;
	roommax = 6;
	totrange = $R(roommin,roommax);
	sleepslider = new Control.Slider('bathroomslider1','bathroomtrack',{ 
		sliderValue: rooms,range:totrange, 
		values:[0,1,2,3,4,5,6],
		onSlide:function(v){ 
			totrange.each(function(i) {
				modus = (rooms == i) ? "on" : "off";
				$('ba'+i).src = "/img/sliders/sleep/sl"+i+"_"+modus+".gif";
			});
		},
		onChange:function(v){
			changeSearchParam(dd,'ba',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();
	$('maprightinfo').show();
	//new Effect.Highlight($('maprightinfo'),{startcolor: "#693a00", endcolor: "#FFFFFF"});
	//Effect.SlideDown('maprightinfo', {duration:0.2});
}

function closeMapInfo() {
	//Effect.SlideUp('maprightinfo', {duration:0.2}); 
	$('maprightinfo').hide();
	$('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 goToWiegusPage(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"; 
	}
	
	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 = ""; }
	if (sc_campaign_fullvals != "") {
		s.eVar21 = sc_campaign_fullvals;
		sc_campaign_fullvals = "";
	}
	else { s.eVar21 = ""; }
	s.events = scevent;
	s.t();
}

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

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

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

var lastdocktype = null;
var dockwindow_open = false;
function openDockWindow(type,obj) {
	if (type != lastdocktype && lastdocktype != null) { 
		$("dockwindow").hide();
		dockwindow_open = false;
	}
	lastdocktype = type;

	if ($("dockwindow").getStyle("display") == "block") { 
		toggleDockWindow(); 
	}
	else {
		switch (type) {
			case "ma":
				doBarAccountMenu();
				break;
			case "fav":
				createFavList();
				break;
			case "fav_firstadd":
				updateDockContent(obj);
				break;
			case "mysearch":
				createMySearchList();
				break;
			case "mysearch_firstadd":
				updateDockContent(obj);
				break;
		}
	}
}

function highlightDockItem(elem) {
	//Effect.Pulsate(elem,{duration:1, pulses: 3});
	if (/*ondev*/true) { new Effect.Highlight(elem,{startcolor: "#ff9800", endcolor: "#ff6200",keepBackgroundImage: true}); }
	else { new Effect.Highlight(elem,{startcolor: "#693a00", endcolor: "#f19e37",keepBackgroundImage: true}); }
}

function doBarAccountMenu() {
	new Ajax.Request("/myaccount/clientservice", { onSuccess: updateDockContent, parameters: "action=metadata&type=getbarmenu" });
}

function handleFav(housecode,action,source) {
	new Ajax.Request("/ajax/aj_addfavorites_v2", { onSuccess: returnHandleFav, method: "post", parameters: "housecode="+housecode+"&action="+action+"&source="+source });
}

function returnHandleFav(data) {
	var obj = data.responseJSON;
	if (!Object.isUndefined(obj.error)) {
		alert(obj.error);
	}
	else {
		obj.house_favlink.each(function(itm) {
				if ($("fav_"+itm.huiscode)) { $("fav_"+itm.huiscode).update(itm.favlink); }						
		});
		if (!Object.isUndefined(obj.favcount)) { $('dock_favcount').update(obj.favcount); }
		if (!Object.isUndefined(obj.favs_changed)) { highlightDockItem('dock_fav'); }
		if (dockwindow_open == true) { createFavList(); }
		else if (!Object.isUndefined(obj.popup)) {
			openDockWindow("fav_firstadd",data);
		}
	}
}

function createFavList() {
	new Ajax.Request("/ajax/aj_dockpopup_fav", { onSuccess: updateDockContent, method: "post" });
}

function createMySearchList() {
	new Ajax.Request("/ajax/aj_dockpopup_mysearch", { onSuccess: updateDockContent, method: "post", parameters: "sitesection="+sitesection });
}

function updateDockContent(data) {
	var obj = data.responseJSON;
	if (!Object.isUndefined(obj.list)) {
		$('dockwindow').update(obj.list);
		setDockContentHeight();
		if (dockwindow_open == false) { 
			if (isiPad()) {
				Effect.ScrollTo('docking_v2', {
					afterFinish: function() {
						toggleDockWindow()
					}
				});
			}
			else {
				toggleDockWindow(); 
				setDockAndArrowPosition();
			}
		}
	}
}

function setDockAndArrowPosition() {
	type = lastdocktype.replace('_firstadd','');
	windowwidth = $j('#dockwindow_'+lastdocktype).outerWidth();
	buttonwidth = $j('#dock_'+type).outerWidth();
	contpos = Math.ceil($j('#maincontainer').offset().left);
	windowpos = contpos + 20;//$j('#dockwindow_'+type).offset();
	buttonpos = Math.ceil($j('#dock_'+type).offset().left);
	centerpoint = (buttonpos + (buttonwidth/2)) - contpos;
	windowpush = centerpoint - (windowwidth/2) -20;
	if (windowwidth + windowpush < 980) {
		$j('#dockwindow_'+lastdocktype).css('margin-left',windowpush+'px');
		windowpos += windowpush;
	}
	arrowpush = centerpoint - (windowpos - contpos) - 10;
	$j('#dockbottom').css('padding-left',arrowpush+'px');
}

function toggleDockWindow() {
	Effect.toggle("dockwindow", 'blind', { 
		duration: 0.5,
		beforeStart: function () {
			if ($("dockwindow").getStyle("display") == "block") { doDarkenBackground(false); }
			else { doDarkenBackground(true); }
		},
		afterFinish: function() {
			if ($("dockwindow").getStyle("display") == "block") { dockwindow_open = true; }
			else { dockwindow_open = false; }
		}
	});
}

function setDockContentHeight() {
	viewp = $('docking_container').viewportOffset();
	
	maxh = viewp.top - 150; // - menu, header, ... + vertical scroll
	if (maxh < 400) maxh = 400;
	$("dockcontent").setStyle({ "maxHeight": maxh+"px", overflow: "auto"});
}

var st_save_sr = true;
function saveSearchResult(method) {
	if (st_save_sr) {
		st_save_sr = false;
		if (method == "m") { 
			params = { method: 'manual_save', name: $('txt_save_sr').value } 
		}
		else if (method == "a") {
			params = { method: 'auto' }
		}
		new Ajax.Request("/ajax/aj_save_sr", { onSuccess: returnSaveSearchResult, method: "post", parameters: "data="+Object.toJSON(params) });
	}
}

function deleteSavedSearchResult(val) {
	params = { method: 'del', value: val }
	new Ajax.Request("/ajax/aj_save_sr", { onSuccess: returnSaveSearchResult, method: "post", parameters: "data="+Object.toJSON(params) });
}

function returnSaveSearchResult(data) {	
	var obj = data.responseJSON;
	st_save_sr = true;
	$('my_search_popup_error').hide();
	if (!Object.isUndefined(obj.error)) {
		$('my_search_popup_error').update(obj.error);
		$('my_search_popup_error').show();
	}
	else if (!Object.isUndefined(obj.mysearchcount)) {
		$("dock_mysearchcount").update(obj.mysearchcount);
		
		if (!Object.isUndefined(obj.mysearch_changed) || !Object.isUndefined(obj.close_save_popup)) { highlightDockItem('dock_mysearch'); }
		if (!Object.isUndefined(obj.close_save_popup)) { toggleSaveSrPopup(); }
		if (!Object.isUndefined(obj.close_sr_box) && dockwindow_open == true) { toggleDockWindow(); }
		else if (dockwindow_open == true/* && ondev*/) {	
			createMySearchList();
			if (!Object.isUndefined(obj.manual_save_mssg)) {
				$("sr_save").hide();
				$("sr_save_mssg").show();
			}
		}
		else if (!Object.isUndefined(obj.popup)) {
			openDockWindow("mysearch_firstadd",data);
		}
	} 
}

function doComparison_v2(source) {
	$('dockloading_img').show();
	params = "type=json&setlist=true&source="+source;
	new Ajax.Request("/ajax/aj_comparison", { method: "post", onSuccess: returnDoComparison, parameters: params });
}

function removeComparisonHouse(source, housecode) {
	$('dockloading_img').show();
	params = "type=json&delhouse="+housecode+"&source="+source;
	new Ajax.Request("/ajax/aj_comparison", { method: "post", onSuccess: returnDoComparison, parameters: params });
}

function returnDoComparison(data) {
	var obj = data.responseJSON;
	$('fav_comparelist').update(obj.output);
	$('dockloading_img').hide();
	if (obj.source == "fav") { toggleHouseListComparision(); }
}

function toggleHouseListComparision() {
	$('fav_houselist').toggle();
	$('dockbuttons_fav').toggle();
	$('fav_comparelist').toggle();
	$('dockbuttons_compare').toggle();
	setDockContentHeight();
}
function doDarkenBackground(bool) {    
	if (bool) { $('darkfade').show(); }
	else { $('darkfade').hide(); }    
}

function checkDelete(error,uri) {
	var boxes = $$('.favchk');
	var todelete = "";
	boxes.each(function (box) {
		if (box.checked) { 
			if (todelete == "") { todelete += box.identify(); }
			else { todelete += ","+box.identify(); }
		}
	});
	
	if (todelete != "") {
		location.replace(uri+"/?action=delete&homeID="+todelete);
	}
	else if (confirm(error)) {
		location.replace(uri+"/?action=deleteall");
	}
}

function openComparisonPrint() {
	window.open("/zoeken/engine6/aj_comparison.php?print","_blank");
}

function sendFavListPopup() {
	if ($("fav_maillist").getStyle("display") == "block") {
		toggleFavMaillist();
	}
	else { new Ajax.Request("/ajax/aj_favlist_popup", { method: "post", onSuccess: returnSendFavListPopup }); }
	
}

function returnSendFavListPopup(data) {
	var obj = data.responseJSON;
	$('fav_maillist').update(obj.output);
	toggleFavMaillist();
}

function sendFavList() {
	$('fav_mail_error').hide();
	$('fav_mail_mssg').hide();
	params = $('frm_fav_mail').serialize();
	new Ajax.Request("/ajax/aj_favlist_processmail", { method: "post", onSuccess: returnSendFavList, parameters: params });
}

function returnSendFavList(data) {
	var obj = data.responseJSON;
	if (!Object.isUndefined(obj.error)) { 
		$('fav_mail_error').update(obj.error);
		$('fav_mail_error').show();
	}
	
	if (!Object.isUndefined(obj.warning)) { 
		$('fav_mail_error').update(obj.warning);
		$('fav_mail_error').show();
	}
	
	if (!Object.isUndefined(obj.mssg)) { 
		$('fav_mail_mssg').update(obj.mssg);
		$('fav_mail_mssg').show();
		$('frm_fav_mail').reset();
	}
}

var st_save_sr2 = true;
function sendSrList() {
	if (st_save_sr2 == true) {
		st_save_sr2 = false;
		$('my_sr_error').hide();
		$('my_sr_mssg').hide();
		$('my_sr_loading').show();
		params = $('frm_send_sr').serialize();
		new Ajax.Request("/ajax/aj_srlist_processmail", { method: "post", onSuccess: returnSendSrList, parameters: params });
	}
}

function returnSendSrList(data) {
	var obj = data.responseJSON;
	if (!Object.isUndefined(obj.error)) { 
		$('my_sr_error').update(obj.error);
		$('my_sr_error').show();
	}
	if (!Object.isUndefined(obj.mssg)) { 
		$('my_sr_mssg').update(obj.mssg);
		$('my_sr_mssg').show();
		$('frm_send_sr').reset();
	}
	$('my_sr_loading').hide();
	st_save_sr2 = true;
}

var sr_recepient = 1;
function addSrRecepient() {
	if (sr_recepient < 20) {
		Element.insert("sr_recepients_input",'<input type="text" name="txt_sr_recep_email'+sr_recepient+'" id="txt_sr_recep_email'+sr_recepient+'" class="sr_input" />')
		$('sr_recepients').show();
		sr_recepient++;
	}
}

function toggleSaveSrPopup() {
	$('mysearch_popup').toggle();
	if ($("mysearch_popup_info")) { if ($("mysearch_popup_info").getStyle("display") == "block") { $('mysearch_popup_info').hide(); } }
	if ($("mysearch_popup").getStyle("display") == "block") { 
		$j("#txt_save_sr").keyup(function(e){ if (e.keyCode == 13){ saveSearchResult('m'); }});
		$('txt_save_sr').select();
	}
}

function closeSaveSrPopupInfo(show_save_sr_popup) {
	$('mysearch_popup_info').hide();
	if (show_save_sr_popup) { toggleSaveSrPopup() }
}

function toggleFavMaillist() {	
	Effect.toggle("fav_maillist", 'blind', { duration: 0.5 }); 
}

function doMoodSearch() {
	if (sitesection == "search") {	
		setTimeout("changeSearchParam(dd,'dz','1')",250);
	}
	else {
		searchurl = zoekuriv6+"/#dz=1";
		redirQPage(searchurl);
	}
}

function updatePvctLinkBox() {
	link_elem = ($j('#pvctlnkfld').val()).split('?');
	query_elem = link_elem[1].split('&');
	
	//delete current Lo and Ec (if present)
	stripped_query_elem = new Array();
	for (i=0; i<query_elem.length; i++) {
		qe_parts = query_elem[i].split('=');
		if (qe_parts[0] != 'lo' && qe_parts[0] != 'ec' && qe_parts[0] != 'c') {
			//qitem = (qe_parts[0] == 'c') ? 'currency='+qe_parts[1] : query_elem[i];
			stripped_query_elem.push(query_elem[i]);
			if (qe_parts[0]=='pt') cookiecontent = qe_parts[1]+'|';
		}
	}

	//start building new query string
	new_query = new Array();
	new_query.push(stripped_query_elem[0]);
	
	//add new Lo, Ec and Currency (if available)
	if ($j('#pvctlofld').val()) {
		new_query.push("lo="+$j('#pvctlofld').val());
		cookiecontent += $j('#pvctlofld').val();
	}
	ecval = $j.trim($j('#pvctecfld').val()).toLowerCase();
	if (ecval) {
		new_query.push("ec="+ecval);
		cookiecontent += '|'+ecval;
	}
	else cookiecontent += '|';
	if ($j('#pvctcurfld').val()) {
		if ($j('#pvctcurfld').val()!='eur') {
			new_query.push("c="+$j('#pvctcurfld').val());
			cookiecontent += '|'+$j('#pvctcurfld').val();
		}
	}

	//complete query string with remaining params
	for (i=1; i<stripped_query_elem.length; i++) new_query.push(stripped_query_elem[i]);
	
	//update field
	$j('#pvctlnkfld').val(link_elem[0]+'?'+new_query.join('&'));
	
	//update cookie
	var ca = document.cookie.split(';');
	for(var i=0; i<ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1);
		if (c.indexOf('pvctgen')==0) current_cookie_val = unescape(c.substring(8));
	}
	current_cookie_elem = current_cookie_val.split(';')
	new_cookie_val = cookiecontent+';'+current_cookie_elem[1];
	var date = new Date();
	date.setTime(date.getTime()+604800);
	document.cookie = "pvctgen="+escape(new_cookie_val)+";expires="+date.toGMTString()+";path=/";
}
function swapPvctLinks() {
	temp = $j('#pvctlnkfld').val();
	temp_alt = $j('#pvctlnkfld_alt').val();
	$j('#pvctlnkfld').val(temp_alt);
	$j('#pvctlnkfld_alt').val(temp);
	updatePvctLinkBox();
}
function updatePvctSearchQuery(query) {
	if ($j('#pvctlnkfld').length && query) {
		base = $j('#pvctlnkfld_alt').val();
		qs = query.replace('&output=json','');
		qs = qs.replace('output=json','');
		qs = qs.replace('dz=1','');
		qs = qs.replace(/\s/g,'+');
		if (qs) qs = '&'+qs;
		$j('#pvctlnkfld').val(base+qs);
		updatePvctLinkBox();
	}
}
function togglePvctHelpBox(state) {
	$('helpbox').removeClassName('show');
	if (state=='show') $('helpbox').addClassName('show');
}

function checkSearchText(elem,state) {
	if( typeof searchtext[elem] == "undefined")  {
		searchtext[elem] = false;
		searchtext_orig[elem] = null;
	}

	if (state == 'focus') {
		if (searchtext[elem] == false) { 
			searchtext_orig[elem] = $(elem).value;
			$(elem).value = "";
		}
		else{ $(elem).select(); }
	}
	if (state == 'blur') {
		if ($(elem).value == "") { $(elem).value = searchtext_orig[elem]; }
		else { searchtext = true; }
	}
}

function assignRgoKeywordSearch() {
	$j(function() {
		$j("#dd_keyword_rgo").catcomplete({
					delay: 100,
					minLength: 2,
					source: 
						function(request, response) {
							$j.ajax({
								url: "/zoeken/engine6/aj_suggestplace_v5.php",
								dataType: "json",
								data: {
									source: "dd_rgo",
									land: dd.land,
									value: request.term
								},
								beforeSend: function () {
									keyword_suggestions = 0;
									keyword_suggestions_data = {};
								},
								complete: function() {
									$j('.ui-autocomplete').css('z-index','1400');
								},
								success: function( data ) {
									response( $j.map( data.r, function( item ) {
										cat = (data.c !== undefined) ? data.c[item.cat] : 0;
										val2 = (item.v2 !== undefined) ? item.v2 : "none";
										ret =  {
											label: item.t,
											category: cat,
											param: item.p,
											val: item.v,
											val2: val2,
											sterm: item.sterm,
											orgkw: data.orgkw
										}
										if (data.set_sugg_data !== undefined) {
											keyword_suggestions = 1;
											keyword_suggestions_data = ret;
										}
										return ret;
									}));
								}
							});
						},
					focus: function (event,ui) {
						return false;
					},
					select: function (event,ui) { 
						handleKeywordSuggestionsData(ui.item,true,"dd_rgo");
						extented_search = false;
						return false;
					}
			});
	 });
}

/*function switchDdRgoTab(tabsection,elem) {
	if (!$("dd_a_"+elem).hasClassName("disabled")) { 
		if (!$('dd_li_'+elem).hasClassName('current')) {
			$$('#'+tabsection+' ul li').each(function(listitm) {
				if ($(listitm.id).hasClassName('current')) { $(listitm.id).removeClassName('current'); }
				else if (listitm.id == "dd_li_"+elem) { 
					$(listitm.id).addClassName('current');
					showRgoTabContent(elem)
				}
			});
		}
	}
}

function showRgoTabContent(showelem) {
	if (showelem == "rgo") { hideelem = "rgsk"; }
	else if(showelem == "rgsk"){ hideelem = "rgo"; }
	
	$("content_tabs_"+hideelem).hide();
	$("content_tabs_"+showelem).show();
} */

function isiPad(){
    return (navigator.platform.indexOf("iPad") != -1);
}

function doAccountSignout(fromdock) {
	if (typeof(accserv)!="undefined") accserv.passValues('data','signout');
	else {
		$j.ajax({
			type: "POST",
			url: "/myaccount/clientservice", 
			data: { "action" : "data", "type" : "signout" },
			success: function(data) {
				if ('authstate' in data) {
					if ($j('#myacc_bar').length) {
						$j('#headerwelcome').hide();
						$j('#logobar').removeClass('signedin');
						$j('#headersignin').show();
					}
					else {
						$j('#accountbar_signout').hide();
						$j('#accountbar_signin').show();
					}
				}
			},
			error: function() {
				document.location = $j('#metaaccountlink :first-child').attr("title");
			},
			dataType: "json"
		});
	}
	if (fromdock) toggleDockWindow();
}

function doAccountMessages() {
	doAccountNav('notifications',false);
}

function doAccountNav(itm,fromdock) {
	if (typeof(accserv)!="undefined") {
		accserv.passValues('panel',itm);
		if (fromdock) toggleDockWindow();
	}
	else {
		uri = $j('#myacc_title :first-child').attr('href')+'#';
		if (!$j.browser.msie) uri += '/';
		uri += itm+'/';
		document.location = uri;
	}
}

/***** FLASHNOBORDER *********************************************************/
//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext) {
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';
	document.write(str);
}

function flashNoBorder3(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function flashNoBorder4(){ //tijdelijk voor HB6
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj4(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_Generateobj4(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';
  $('mediapres').update(str);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

//v1.1
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AX_RunContent(){
  var ret = AC_AX_GetArgs(arguments);
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_AX_GetArgs(args){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "pluginspage":
      case "type":
      case "src":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "data":
      case "codebase":
      case "classid":
      case "id":
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  return ret;
}
/***** FLASHNOBORDER *********************************************************/

/* google maps addings */


function google_adding(){
	DistanceWidget.prototype = new google.maps.MVCObject();
	RadiusWidget.prototype = new google.maps.MVCObject();
	RadiusWidget.prototype.addSizer_ = function() {
	  sizer = new google.maps.Marker({
		draggable: true,
		title: 'Radius grote',
		raiseOnDrag: false
	  });
	
	  sizer.bindTo('zIndex', this);
	  sizer.bindTo('map', this);
	  sizer.bindTo('icon', this);
	  sizer.bindTo('position', this, 'sizer_position');
	
	  var me = this;
	  google.maps.event.addListener(sizer, 'dragstart', function() {
		me.set('active', true);
	  });
	
	  google.maps.event.addListener(sizer, 'drag', function() {
		// Set the circle distance (radius)
		me.setDistance_();
	  });
	
	  google.maps.event.addListener(sizer, 'dragend', function() {
			me.set('active', false);
	
			var lat_lon = marker.getPosition();
	
			lat = lat_lon;
			rat = me.distance;
	
			if(typeof(google_reset) != "undefined"){
				for (var i = 0; i < markers.length; i++) {
					markers[i].setMap(null);
				}
				for (var a = 0;a < markerCluster.clusters_.length; a++) {
					markerCluster.clusters_[a].remove();
				}
				delete markerCluster.markers_;
				markerCluster.markers_ = [];
			}
	
			if(typeof(poises_place) != "undefined"){
				for (i=0;i<poises_place.length;i++)
				{
					google_place = poises_place[i];
					for(var a in google_place){
						google_place[a].setMap(null);
					}
					delete google_place;		
				}
				delete poises_place;
				poises_place = {};
	
				typoiN = [];
				for (i=0;i<typoiTest.length;i++)
				{
					typoiN.push(typoiTest[i]);
				}
				delete typoiTest;
				typoiTest = [];
			}
	
			getHuizenRat(lat,rat);
	
			for (i=0;i<typoiN.length;i++){
				addPoi(typoiN[i]);
			}
	
			setHouses(map, poises.huis, 1);
	
			markerCluster = new MarkerClusterer(map, markers);
	
			google_reset = 1;
		});
	};
	RadiusWidget.prototype.distance_changed = function() {
	  this.set('radius', this.get('distance') * 1000);
	};
	
	/**
	 * Update the radius when the min distance has changed.
	 */
	RadiusWidget.prototype.minDistance_changed = function() {
	  if (this.get('minDistance') &&
		  this.get('distance') < this.get('minDistance')) {
		this.setDistance_();
	  }
	};
	
	
	/**
	 * Update the radius when the max distance has changed.
	 */
	RadiusWidget.prototype.maxDistance_changed = function() {
	  if (this.get('maxDistance') &&
		  this.get('distance') > this.get('maxDistance')) {
		this.setDistance_();
	  }
	};
	
	/**
	 * Update the stroke color when the color is changed.
	 */
	RadiusWidget.prototype.color_changed = function() {
	  this.active_changed();
	};
	
	
	/**
	 * Update the active stroke color when the color is changed.
	 */
	RadiusWidget.prototype.activeColor_changed = function() {
	  this.active_changed();
	};
	
	
	/**
	 * Update the active stroke color when the color is changed.
	 */
	RadiusWidget.prototype.sizerIcon_changed = function() {
	  this.active_changed();
	};
	
	
	/**
	 * Update the active stroke color when the color is changed.
	 */
	RadiusWidget.prototype.activeSizerIcon_changed = function() {
	  this.active_changed();
	};
	
	
	/**
	 * Update the center of the circle and position the sizer back on the line.
	 *
	 * Position is bound to the DistanceWidget so this is expected to change when
	 * the position of the distance widget is changed.
	 */
	RadiusWidget.prototype.center_changed = function() {
	  var sizerPos = this.get('sizer_position');
	  var position;
	  if (sizerPos) {
		position = this.getSnappedPosition_(sizerPos);
	  } else {
		var bounds = this.get('bounds');
		if (bounds) {
		  var lng = bounds.getNorthEast().lng();
		  position = new google.maps.LatLng(this.get('center').lat(), lng);
		}
	  }
	
	  if (position) {
		this.set('sizer_position', position);
	  }
	};
	
	/**
	 * Update the center of the circle and position the sizer back on the line.
	 */
	RadiusWidget.prototype.active_changed = function() {
	  var strokeColor;
	  var icon;
	
	  if (this.get('active')) {
		if (this.get('activeColor')) {
		  strokeColor = this.get('activeColor');
		}
	
		if (this.get('activeSizerIcon')) {
		  icon = this.get('activeSizerIcon');
		}
	  } else {
		strokeColor = this.get('color');
	
		icon = this.get('sizerIcon');
	  }
	
	  if (strokeColor) {
		this.set('strokeColor', strokeColor);
	  }
	
	  if (icon) {
		this.set('icon', icon);
	  }
	};
	
	
	/**
	 * Set the distance of the circle based on the position of the sizer.
	 * @private
	 */
	RadiusWidget.prototype.setDistance_ = function() {
	  // As the sizer is being dragged, its position changes.  Because the
	  // RadiusWidget's sizer_position is bound to the sizer's position, it will
	  // change as well.
	  var pos = this.get('sizer_position');
	  var center = this.get('center');
	  var distance = this.distanceBetweenPoints_(center, pos);
	
	  if (this.get('maxDistance') && distance > this.get('maxDistance')) {
		distance = this.get('maxDistance');
	  }
	
	  if (this.get('minDistance') && distance < this.get('minDistance')) {
		distance = this.get('minDistance');
	  }
	  // Set the distance property for any objects that are bound to it
	  this.set('distance', distance);
	
	  var newPos = this.getSnappedPosition_(pos);
	  
	  var newPos1 = this.getSnappedPosition_(pos);
	  
	  rat = distance;
	
	  this.set('sizer_position', newPos);
	};
	
	
	/**
	 * Finds the closest left or right of the circle to the position.
	 *
	 * @param {google.maps.LatLng} pos The position to check against.
	 * @return {google.maps.LatLng} The closest point to the circle.
	 * @private.
	 */
	RadiusWidget.prototype.getSnappedPosition_ = function(pos) {
	  var bounds = this.get('bounds');
	  var center = this.get('center');
	  var left = new google.maps.LatLng(center.lat(),
		  bounds.getSouthWest().lng());
	  var right = new google.maps.LatLng(center.lat(),
		  bounds.getNorthEast().lng());
	
	  var leftDist = this.distanceBetweenPoints_(pos, left);
	  var rightDist = this.distanceBetweenPoints_(pos, right);
	
	  if (leftDist < rightDist) {
		return left;
	  } else {
		return right;
	  }
	};
	
	
	/**
	 * Calculates the distance between two latlng points in km.
	 * @see http://www.movable-type.co.uk/scripts/latlong.html
	 *
	 * @param {google.maps.LatLng} p1 The first lat lng point.
	 * @param {google.maps.LatLng} p2 The second lat lng point.
	 * @return {number} The distance between the two points in km.
	 * @private
	 */
	RadiusWidget.prototype.distanceBetweenPoints_ = function(p1, p2) {
	  if (!p1 || !p2) {
		return 0;
	  }
	
	  var R = 6371; // Radius of the Earth in km
	  var dLat = (p2.lat() - p1.lat()) * Math.PI / 180;
	  var dLon = (p2.lng() - p1.lng()) * Math.PI / 180;
	  var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
		Math.cos(p1.lat() * Math.PI / 180) * Math.cos(p2.lat() * Math.PI / 180) *
		Math.sin(dLon / 2) * Math.sin(dLon / 2);
	  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
	
	  var d = R * c;
	  return d;
	};	
}
/**
Seachboxv8 
*/
function hoverMapItem(mapselect_type,mapselect_val,direction,text) {
	var flashmap = document.getElementById("map_regions");
	flashmap.hoverRegioSelectionJS(mapselect_type,mapselect_val,direction,text);
}

function changeLocationItem(mapselect_type,mapselect_val,txt) {
	selectItem(mapselect_type,mapselect_val,'');
	var flashmap = document.getElementById("map_regions");
	flashmap.changeRegioSelectionJS(mapselect_type,mapselect_val);
}

function switchDdRgoTab(tabsection,elem) {
	if ($('dd_a_'+elem).hasClassName('disabled')) {
		showRgoTabContent(elem);
	}
}

function showRgoTabContent(showelem) {
	if (showelem == "rgo") { hideelem = "rgsk"; }
	else if(showelem == "rgsk"){ hideelem = "rgo"; }
	
	$("content_tabs_"+hideelem).hide();
	$("content_tabs_"+showelem).show();
	$('dd_a_'+showelem).removeClassName('disabled');
	$('dd_a_'+hideelem).addClassName('disabled');
}

function selectChkAsItem(itemid) {
	$j('.chk_adv:checked').each(function (index) {
		paramname = this.title.substring(0,2);
		paramval = this.title.substring(2);
		changeSearchParam(dd,paramname,paramval);
	});
	doScTrackFilterSearch(); 
	goSearch('','y');
}
