// ******************************************************************************* //
// *************************		Cookies				 ************************* //
// ******************************************************************************* //

setcookie = function(name, value) {
	name = "js"+name;
	var expiredays = 365;
	var ExpireDate = new Date ();   
	ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));   
	document.cookie = name + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());  
};
getcookie = function(name) {
	if (document.cookie.length > 0) {
		name = "js"+name;
		begin = document.cookie.indexOf(name+"=");
		if (begin != -1) {
			begin += name.length+1;
			end = document.cookie.indexOf(";", begin);
			if (end == -1) end = document.cookie.length;
			return unescape(document.cookie.substring(begin, end))
		}
	}
	return "";  	
};


// ******************************************************************************* //
// *************************		Serializers			 ************************* //
// ******************************************************************************* //
serSearch = function(obj) {
	var str = "";
	for(t in obj){
		str += t + ":" + obj[t] + ";";
	}
	return str;
};

deserSearch = function(str) {
	var obj = new Object();
	var par = str.split(";");
	for(t in par){
		if (par[t] != "") {
			var keys = par[t].split(":");
			obj[keys[0]] = keys[1];
		}
	}
	return obj;
};


// ******************************************************************************* //
// *************************		default				 ************************* //
// ******************************************************************************* //
var mustLogin = false;
var currentdate=new Date();

var param = new Object();
param.c = "";
param.rmin = 0;
param.rmax = 0;
param.pmin = 0;
param.pmax = 1000000;
param.s = '';
param.h = '';
param.he = '';

param.roommin = 0;
param.ot = '';
param.bt = '';
param.bpmin = 1900;
param.bpmax = currentdate.getFullYear();
param.m3min = 0;
param.m3max = 1000;
param.pm2min = 0;
param.pm2max = 5000;
param.m2min = 0;
param.m2max = 250;

param.tab = 1;

var sq = getcookie("sq")
if (sq != "") {
	param = deserSearch(sq);
}


$(document).ready(function() {
	var href = window.location.href;
	var bodyheight = $("body").height()+"px";
	//$("#overlay").css("height",bodyheight);
	
	// if boxsearch
	if (document.getElementById('boxsearch')) {
		// autocomplete
		var urlautocomplete = '/dispatcher.aspx?m=getCities';
		$("#c").autocomplete(urlautocomplete);
		
		$('#c').val(param.c);
	    createRadSlider(param.rmin,param.rmax);
	    createPriceSlider(param.pmin,param.pmax);
	    $('#s').val(param.s);
	    $('#h').val(param.h);
	    $('#he').val(param.he);
	    createBuildperiodSlider(param.bpmin,param.bpmax);
	    createVolumeSlider(param.m3min,param.m3max);
	    createGroundSlider(param.pm2min,param.pm2max);
	    createLivingSpaceSlider(param.m2min,param.m2max);
	}

	if (param.c != "") {
		$('#searchbuttonoff').hide();
		$('#searchbuttonon').show();
	}

	if (document.getElementById('boxmap')) {
		createMap();

		//read parameters
		if (href.indexOf("?") > -1){
			href = href.substr(href.indexOf("?")+1);
			var qs = href.split("&");
			for (var i=0; i<qs.length; i++) {
				var par = qs[i].split("=");
				param[par[0]] = unescape(par[1]);
			}
			setSearchQuery(param.c,param.rmin,param.rmax,param.pmin,param.pmax,param.s,param.h,param.he,param.roommin,param.ot,param.bt,param.bpmin,param.bpmax,param.m3min,param.m3max,param.pm2min,param.pm2max,param.m2min,param.m2max,param.tab);
		} else {
			if (param.c == "") {
				getHouses("");
			} else {
				setSearchQuery(param.c,param.rmin,param.rmax,param.pmin,param.pmax,param.s,param.h,param.he,param.roommin,param.ot,param.bt,param.bpmin,param.bpmax,param.m3min,param.m3max,param.pm2min,param.pm2max,param.m2min,param.m2max,param.tab);
			}
		}
	}
        
	try {
	    if (message) {
	        var message_t = message.t;
	        var message_s = message.s;
	        openpopup('/Ajax/confirm.aspx?t=' + message_t + '&s=' + message_s);
	    }
	} catch (e) {}
	
	if (mustLogin) {
	    setTimeout("openpopup('/Ajax/LoginHandler.aspx');",50);
	}

	// Only logged in
	if (document.getElementById('slidedown')) { 
		setLayerNav();
		
		if (href.indexOf("showpayment") > -1) {
			payDirect();
		}
	}
	

});
// ******************************************************************************* //
// *************************		Login   			 ************************* //
// ******************************************************************************* //
doLoginPage = function() {
    var username = $('#loginemail').val();
    var password = $('#loginww').val();
    var qs = "u=" + username + "&p=" + password;
    
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
        data: "m=loginUser&"+qs,
        success: function(json) {
            if (json.Status == 'OK') {
                window.location.href='Tasksoverview.aspx';
            }
            else {
                $('#divloginerror').show();
            }
        },
        error: function() {
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });
};

// ******************************************************************************* //
// *************************		Toppanel			 ************************* //
// ******************************************************************************* //
doLogin = function() {
    var qs = $("#loginfields//input").serialize();
    $('#loginLoader').show();
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: "m=loginUser&"+qs,
        success: function(json){
            if (json.Status == 'OK') {
		        window.location.href='Tasksoverview.aspx';
            } else {
                $('#divloginerror').show();
            }
            $('#loginLoader').hide();
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
            $('#loginLoader').hide();
        }
    });
};
setLoginContainers = function() {
    $("#toppageContainer").load("/AjaxDispatcher.aspx?u=ToppageContainer&v="+ new Date());
    $("#mainmenu").load("/AjaxDispatcher.aspx?u=Mainmenu&v="+ new Date());
    if (document.getElementById('topgraypanel')) {
        $("#topgraypanel").load("/AjaxDispatcher.aspx?u=GrayPanel&v="+ new Date(),function() { setLayerNav(); });
    }
};
doLogout = function() {
    $('div.panellogined').html('<div class="loader"></div>');
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: "m=logoutUser",
        success: function(json){
            if (json.Status == 'OK') {
				window.location.href = "/";
            }
        },
        error: function(){
			resetoverlay();
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });
};



doReg = function() {
    $('#regLoader').show();
    var qs = $("#divregform//input[@type=text]").serialize();
    qs += "&" + $("#divregform//input[@type=password]").serialize();
    if ($('#regaccoord').is(":checked")) {
        qs += "&a=ok";
    }
    
    $.ajax({
        type: "Post",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: "m=createUser&"+qs,
        success: function(json){
            if (json.Status == 'OK') {
                $('#divregform').hide();
                $('#divregformok').show();
                $('#divregform').hide();
                $('#regokbutton').focus();
            } else {
        	    openpopup("/Ajax/error.aspx?t=f67ee27e-d166-4f94-93a9-eb660e6ad038&s="+json.Status);
            }
            $('#regLoader').hide();
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
            $('#regLoader').hide();
        }
    });
};

  
doForgotPassword = function() {
    if ($('#forgotemail').val() === '') {
	    openpopup("/Ajax/error.aspx?t=122f550b-f487-4422-96a8-20da93466f67&s=2a6aca21-d33d-4693-934a-5e88cb09163b");
    } else {

        $('#loginLoader').show();
        var u = $('#forgotemail').val();
        $.ajax({
            type: "Post",
	        url: "/dispatcher.aspx",
            dataType: "json",
			data: "m=sendPassword&u="+u,
            success: function(json){
				if (json.Status == 'OK') {
					$('#divloginemailok').show();
					$('#forgotokbutton').focus();
				} else {
					openpopup("/Ajax/error.aspx?t=122f550b-f487-4422-96a8-20da93466f67&s="+json.Status);
				}
				$('#loginLoader').hide();
            },
            error: function(){
                openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
                $('#loginLoader').hide();
            }
        });

    }
};



// ******************************************************************************* //
// *************************		Zoekbox				 ************************* //
// ******************************************************************************* //


// createRadSlider
createRadSlider = function(min,max) {
	var slider = new SWFObject("swf/search_slider.swf?v=7", "RadSlider", "225", "70", "7", "#FFFFFF", "high", "", "javascript:showFlashMessage('slider_r');");
	slider.addParam("wmode", "transparent");
	slider.addVariable("id", "1");
	slider.addVariable("title", siteTexts["8ad2c185-3467-47d0-875b-8138c4ed15af"]);
	slider.addVariable("valueLabel", siteTexts["01bd3b80-9d0e-4c5f-bff4-7cc2941d460a"]);
	slider.addVariable("numOfDraggers", "2");
	slider.addVariable("scaleMinValue", "0");
	slider.addVariable("scaleMaxValue", "50");
	slider.addVariable("setMinValue", min);
	slider.addVariable("setMaxValue", Math.min(50,max));
	slider.addVariable("gtChar", "%2B");
	slider.useExpressInstall("/swf/expressinstall.swf");
	slider.write("slider_r");
	setSliderValue(1,min,max);
	
};
// createPriceSlider
createPriceSlider = function(min,max) {
	var slider = new SWFObject("swf/search_slider.swf?v=7", "PriceSlider", "225", "70", "7", "#FFFFFF", "high", "", "javascript:showFlashMessage('slider_pr');");
	slider.addParam("wmode", "transparent");
	slider.addVariable("id", "2");
	slider.addVariable("title", siteTexts["083e7581-66d3-47b4-b483-a7f912d21965"]);
	slider.addVariable("valueLabel", siteTexts["43f2da35-4835-4f5c-96eb-2deb6cc54916"]);
	slider.addVariable("numOfDraggers", "2");
	slider.addVariable("scaleMinValue", "0");
	slider.addVariable("scaleMaxValue", "1000");
	slider.addVariable("setMinValue", min/1000);
	slider.addVariable("setMaxValue", Math.min(1000,max/1000));
	slider.addVariable("gtChar", "%2B");
	slider.useExpressInstall("/swf/expressinstall.swf");
	slider.write("slider_pr");
	setSliderValue(2,min/1000,max/1000);
};
// createBuildperiodSlider
createBuildperiodSlider = function(min,max) {
	var slider = new SWFObject("swf/search_slider_small.swf?v=7", "BuildperiodSlider", "150", "60", "7", "#FFFFFF", "high");
	slider.addParam("wmode", "transparent");
	slider.addParam("scale", "noscale");
	slider.addVariable("id", "3");
	slider.addVariable("title", "");
	slider.addVariable("valueLabel", siteTexts["43f2da35-4835-4f5c-96eb-2deb6cc54916"]);
	slider.addVariable("numOfDraggers", "2");
	slider.addVariable("scaleMinValue", "1900");
	slider.addVariable("scaleMaxValue", currentdate.getFullYear());
	slider.addVariable("setMinValue", min);
	slider.addVariable("setMaxValue", Math.min(currentdate.getFullYear(),max));
	slider.addVariable("gtChar", "");
	slider.useExpressInstall("/swf/expressinstall.swf");
	slider.write("slider_bp");
	setSliderValue(3,min,max);
};
// createVolumeSlider
createVolumeSlider = function(min,max) {
	var slider = new SWFObject("swf/search_slider_small.swf?v=8", "VolumeSlider", "150", "60", "7", "#FFFFFF", "high");
	slider.addParam("wmode", "transparent");
	slider.addParam("scale", "noscale");
	slider.addVariable("id", "4");
	slider.addVariable("title", "");
	slider.addVariable("valueLabel", siteTexts["ec76b509-2389-4dc5-9345-46ab72656fe0"]);
	slider.addVariable("numOfDraggers", "2");
	slider.addVariable("scaleMinValue", "0");
	slider.addVariable("scaleMaxValue", "1000");
	slider.addVariable("setMinValue", min);
	slider.addVariable("setMaxValue", Math.min(1000,max));
	slider.addVariable("gtChar", "%2B");
	slider.useExpressInstall("/swf/expressinstall.swf");
	slider.write("slider_v");
	setSliderValue(4,min,max);
};
// createGroundSlider
createGroundSlider = function(min,max) {
	var slider = new SWFObject("swf/search_slider_small.swf?v=8", "GroundSlider", "150", "60", "7", "#FFFFFF", "high");
	slider.addParam("wmode", "transparent");
	slider.addParam("scale", "noscale");
	slider.addVariable("id", "5");
	slider.addVariable("title", "");
	slider.addVariable("valueLabel", siteTexts["70907703-68c8-48b0-b495-200d53f5d554"]);
	slider.addVariable("numOfDraggers", "2");
	slider.addVariable("scaleMinValue", "0");
	slider.addVariable("scaleMaxValue", "5000");
	slider.addVariable("setMinValue", min);
	slider.addVariable("setMaxValue", Math.min(5000,max));
	slider.addVariable("gtChar", "%2B");
	slider.useExpressInstall("/swf/expressinstall.swf");
	slider.write("slider_g");
	setSliderValue(5,min,max);
};
// createLivingSpaceSlider
createLivingSpaceSlider = function(min,max) {
	var slider = new SWFObject("swf/search_slider_small.swf?v=8", "LivingSpaceSlider", "150", "60", "7", "#FFFFFF", "high");
	slider.addParam("wmode", "transparent");
	slider.addParam("scale", "noscale");
	slider.addVariable("id", "6");
	slider.addVariable("title", "");
	slider.addVariable("valueLabel", siteTexts["70907703-68c8-48b0-b495-200d53f5d554"]);
	slider.addVariable("numOfDraggers", "2");
	slider.addVariable("scaleMinValue", "0");
	slider.addVariable("scaleMaxValue", "250");
	slider.addVariable("setMinValue", min);
	slider.addVariable("setMaxValue", Math.min(250,max));
	slider.addVariable("gtChar", "%2B");
	slider.useExpressInstall("/swf/expressinstall.swf");
	slider.write("slider_ls");
	setSliderValue(6,min,max);
};

showFlashMessage = function(div) {
	$('#' + div + '/span').show();
};
// slider functies
setSliderValue = function(id, lowValue, highValue) {
	switch(id) {
		case 1:
			$('#rmin').val(lowValue);
			$('#rmax').val(highValue);
			param.rmin = lowValue;
			param.rmax = highValue;
			break    
		case 2:
			$('#pmin').val(lowValue*1000);
			$('#pmax').val(highValue*1000);
			param.pmin = lowValue*1000;
			param.pmax = highValue*1000;
			break
		case 3:
			$('#bpmin').val(lowValue);
			$('#bpmax').val(highValue);
			param.bpmin = lowValue;
			param.bpmax = highValue;
			break
		case 4:
			$('#m3min').val(lowValue);
			$('#m3max').val(highValue);
			param.m3min = lowValue;
			param.m3max = highValue;
			break
		case 5:
			$('#pm2min').val(lowValue);
			$('#pm2max').val(highValue);
			param.pm2min = lowValue;
			param.pm2max = highValue;
			break
		case 6:
			$('#m2min').val(lowValue);
			$('#m2max').val(highValue);
			param.m2min = lowValue;
			param.m2max = highValue;
			break
	}
};

// searchHouses
searchHouses = function() {
	if ($('#c').val()) {
		var url = window.location.href;
		if (url.indexOf('Zoeken.aspx') > 0) {
			$("#boxmap").removeClass('wideright widemapright');
			getHouses('search');
			$('#resinfo//a').show();
			$('#searchbuttonoff').hide();
			$('#searchbuttonon').show();
	        
 			//	showPager(1, 1, 10);
	 
			if ($("div.extend").is(":visible")) {
				searchtab(1);
			}
	        
		} else {
			//var querystring = $("#searchform/div:visible//input").serialize();
			var querystring = $("#boxsearch/div:visible//input").serialize();
			window.location.href = "/Zoeken.aspx?"+querystring;
		}
	}
};


// searchtab
searchtab = function(numb) {
    param.tab = numb;
    //setcookie("tabnum",searchTabNum);
	if (numb == 1) {
		$('#searchtablink1').addClass('active');
		$('#searchtablink2').removeClass('active');
		$('#searchtablink3').removeClass('active');
		$('#searchtab1').show();
		$('#searchtab2').hide();
		$('#boxsearch').removeClass('boxsearchwide');
		if (document.getElementById('housesscroll')) {
			$('#housesscroll').css('overflow','auto');
		}
	} else if (numb == 3) {
		$('#searchtablink3').addClass('active');
		$('#searchtablink1').removeClass('active');
		$('#searchtablink2').removeClass('active');
		$('#searchtab1').show();
		$('#searchtab2').hide();
		$('#boxsearch').addClass('boxsearchwide');
		if (document.getElementById('housesscroll')) {
			$('#housesscroll').css('overflow','hidden');
		}
	} else {
		$('#searchtablink2').addClass('active');
		$('#searchtablink1').removeClass('active');
		$('#searchtablink3').removeClass('active');
		$('#searchtab2').show();
		$('#searchtab1').hide();
		$('#boxsearch').removeClass('boxsearchwide');
		if (document.getElementById('housesscroll')) {
			$('#housesscroll').css('overflow','auto');
		}
	}

};


// ******************************************************************************* //
// *************************		SearchQuery 		 ************************* //
// ******************************************************************************* //
// saveSearchQuery
saveSearchQuery = function() {
    if (document.getElementById('mytasks')) {
	    openpopup("/Ajax/saveSearchQuery.aspx");
	} else {
		//Not logined
		openpopup('/Ajax/IframeHandler.aspx?m=Limited');	    
	}
};
saveSearchQueryConfirm = function(obj) {
	var title = $('#tasktitle').val();
	if (title) {
		var qs = $("#boxsearch//[@type=text]").serialize() 
		qs += "&" + $("#boxsearch//[@type=hidden]").serialize() 
		qs += "&" + $("#boxsearch//select").serialize();
		qs += "&tab=" + param.tab;
		qs += "&bt=";
		$("#boxsearch//input[@name=bt]").each(function(){
			if (this.checked) {
				qs += $(this).val() + ",";
			}
		});
		
        $.ajax({
            type: "POST",
	        url: "/dispatcher.aspx",
            dataType: "json",
			data: "m=saveSearchQuery&t="+title+"&"+qs,
            success: function(json){
                if (json.Status == 'OK') {
                    $("#mytasks").load("/AjaxDispatcher.aspx?u=AlertQueries&v="+ new Date());
                } else {
                    openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
                }
            },
            error: function(){
                openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
            }
        });
		closepopup(obj);
	}
};

// setSearchQuery
setSearchQuery = function(c,rmin,rmax,pmin,pmax,s,h,he,roommin,ot,bt,bpmin,bpmax,m3min,m3max,pm2min,pm2max,m2min,m2max,tab) {
	$('#c').val(c);

	$('#rmin').val(rmin);
	$('#rmax').val(rmax);
    createRadSlider(rmin,rmax);
	
	$('#pmin').val(pmin);
	$('#pmax').val(pmax);
    createPriceSlider(pmin,pmax);
	$('#s').val(s);
	$('#h').val(h);
	$('#he').val(he);
	
	//Advanced
	$('#roommin').val(roommin);
	$('#ot').val(ot);

	$('#bpmin').val(bpmin);
	$('#bpmax').val(bpmax);
    createBuildperiodSlider(bpmin,bpmax);
	
	$('#m3min').val(m3min);
	$('#m3max').val(m3max);
    createVolumeSlider(m3min,m3max);
	
	$('#pm2min').val(pm2min);
	$('#pm2max').val(pm2max);
    createGroundSlider(pm2min,pm2max);
	
	$('#m2min').val(m2min);
	$('#m2max').val(m2max);
    createLivingSpaceSlider(m2min,m2max);
	
	$("#buildtypes").load("/Ajax/BuildTypes.aspx?o=" + ot, function(){
		$("#boxsearch//input[@name=bt]").each(function(){
			this.checked = false;
			if (bt.indexOf($(this).val()) != -1) {
				this.checked = true;
			}
		});	
		searchtab(tab);
		searchHouses();
			
	});

	$('#boxresult').removeClass('wideright');
	$('#boxmap').removeClass('wideleft');
	closeboxdetail();		
	

};

// deletequery
var deletequeryid;
deletequery = function(id) {
    deletequeryid = id;
	var url = "/Ajax/deletequery.aspx?id="+id;
	openpopup(url);
};
deletequeryok = function() {
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: "m=deleteSearchQuery&i="+deletequeryid,
        success: function(json){
            if (json.Status == 'OK') {
                $("#mytasks").load("/AjaxDispatcher.aspx?u=AlertQueries&v="+ new Date(),function(){
                    closepopupbyid("delquery"+deletequeryid);
	            });
            } 
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });		
};



// ******************************************************************************* //
// *************************		toppanel			 ************************* //
// ******************************************************************************* //
var activeobj;
showpanel = function(obj,src) {
	//setoverlay('toppanel');
    $('../a',obj).removeClass('active');
	$('#panelloginbutton').hide();
	$('#panLoader').show();
	activeobj = $(obj);
	activeobj.addClass('active');
	$('#panelajax').load('/Ajax/'+src+'.aspx?v=' + new Date(),function(){
		$('#panLoader').hide();
		$('#panelajax').show();
		//focus
		var elem = $('input:visible', $('#panelajax')).get(0);
		if (elem) {
		    elem.focus();
        }
		
	});
};
resetpanelajax = function() {
	resetoverlay();
	activeobj.removeClass('active');
	$('#panelajax').hide();
	$('#panelloginbutton').show();
	$('#panelajax').empty();
};


// Slidedown
toggleSlidedown = function() {
	if ($('#slidedown').is(":visible")) {
		hideSlidedown();
	} else {
		showSlidedown();
	}
};
showSlidedown = function() {
	if ($('#iframe').attr('src') == '/Iframes/Loader.aspx') {
		clickSlidedownNav(2);
	}
	//setoverlay('toppanel');
	$('#slidedown').show();
};
hideSlidedown = function() {
	resetoverlay();
	$('#slidedown').hide();
	//$("#toppanel").css("zIndex",0);
};



// Set overlay 
var jsoverlayzindex = 5000;
setoverlay = function(layer) {
	//alert(jsoverlayzindex);
	$("#"+layer).css("zIndex",(jsoverlayzindex+2));
	$("#overlay").css({ 
		zIndex: (jsoverlayzindex+1)
	});

	//setTimeout("$('#overlay').show();",10);
	$('#overlay').show();
	jsoverlayzindex=jsoverlayzindex+2;
};
unsetoverlay = function() {
	jsoverlayzindex=jsoverlayzindex-2;
	$("#overlay").css("zIndex",jsoverlayzindex-2);
};
resetoverlay = function() {
	jsoverlayzindex = 5000;
	$("#overlay").css("zIndex",jsoverlayzindex).hide();
};

// clickSlidedownNav
clickSlidedownNav = function(n) {
    $('#slidedownnav/a').removeClass('active');
    switch(n) {
        case 2:
            $('#iframe').attr('src','/Iframes/Mailbox.aspx?v='+ new Date() );
            $('#slidedownnav/a:eq(1)').addClass('active');
            break;
        case 3:
            $('#iframe').attr('src','/Iframes/Agenda.aspx?v='+ new Date() );
            $('#slidedownnav/a:eq(2)').addClass('active');
            break;
        case 4:
            $('#iframe').attr('src','/Iframes/Payments.aspx?v='+ new Date() );
            $('#slidedownnav/a:eq(3)').addClass('active');
            break;
        default:
            $('#iframe').attr('src','/Iframes/Userdetails.aspx?v='+ new Date() );
            $('#slidedownnav/a:eq(0)').addClass('active');
            break;              
    }    
};

// Variant op openpopup, opent de pagina alleen niet in een popup maar in een DIV
openpageindiv = function(url, div) {
		$.ajax({
			type: "GET",
			url: url,
			dataType: "html",
			ifModified: false,
			success: function(html){
			    $('#' + div).html(html);
			}
		}); 
}

// popups
openpopup = function(url) {

		var uuid = "id" + Math.random() * Math.pow(10, 17) + Math.random() * Math.pow(10, 17);
		//url = url + '&uuid=' + uuid;
																		
		var popup = document.createElement("div");
		popup.id = uuid;
		popup.className = 'popup';
		$("body").append(popup);
	
		var inner = document.createElement("div");
		inner.innerHTML = "<div class=\"loader\"></div>";
		$(popup).append(inner);
		$(popup).show();
        
		var scrollY;
		if (document.all) {
			if (!document.documentElement.scrollTop) {
				scrollY = document.body.scrollTop;
			} else {
				scrollY = document.documentElement.scrollTop;
			}
		} else {
			scrollY = window.pageYOffset;
		}
		var t = scrollY + 100;
		$(inner).css({ 
			marginTop: t+"px"
		});

		setoverlay(uuid);
		$.ajax({
			type: "GET",
			url: url,
			dataType: "html",
			ifModified: false,
			success: function(html){
				$(inner).html(html);
				
				//focus
				var inputs = $('input:visible', inner);
				if (inputs.length) {
					inputs.get(0).focus();
                } else {
					var focuses = $('a.focus', inner);
					if (focuses.length) {
						focuses.get(0).focus();
					}
                }
			}
		}); 		
};
closepopup = function(obj) {
	var popup = obj;
	while (popup.parentNode) {
		if (popup.className == 'popup') break;
		popup = popup.parentNode;
	}
	$(popup).hide();
	unsetoverlay();
	if (jsoverlayzindex == 5000) $('#overlay').hide();
	$(popup).remove();
};
closepopupbyid = function(id) {
	var popup = document.getElementById(id);
	if (popup) {
	    while (popup.parentNode) {
		    if (popup.className == 'popup') break;
		    popup = popup.parentNode;
	    }
	    $(popup).hide();
	    unsetoverlay();
	    if (jsoverlayzindex == 5000) $('#overlay').hide();
	    $(popup).remove();
	}
};
closeallpopups = function() {
	$("div.popup").each(function(i) {
		closepopup(this);
	});	
};

// ******************************************************************************* //
// *************************		mailbox 			 ************************* //
// ******************************************************************************* //
// readmail
readmail = function(obj,id) {
    $("..//",obj).removeClass("new");
	var url = "/Ajax/readmail.aspx?id="+id;
	openpopup(url);
	$("#panellogined").load("/AjaxDispatcher.aspx?u=PanelLogined&v="+ new Date());
};

// deletemail
var deletemailid;
deletemail = function(id) {
    deletemailid = id;
	var url = "/Ajax/deletemail.aspx?id="+id;
	openpopup(url);
};
deletemailok = function() {
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: "m=deleteUserMessage&um="+deletemailid,
        success: function(json){
            if (json.Status == 'OK') {
                $("#panellogined").load("/AjaxDispatcher.aspx?u=PanelLogined&v="+ new Date());
                document.getElementById("iframe").contentWindow.location.reload(true);
                closepopupbyid("delmail"+deletemailid);
                closepopupbyid("mail"+deletemailid);
            } 
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });		
};



// ******************************************************************************* //
// *************************		tasks    			 ************************* //
// ******************************************************************************* //
// readtask
readtask = function(obj,id) {
	var url = "/Ajax/readtask.aspx?id="+id;
	openpopup(url);
	$("#panellogined").load("/AjaxDispatcher.aspx?u=PanelLogined&v="+ new Date());
};

// deletetask
var deletetaskid;
deletetask = function(id) {
    deletetaskid = id;
	var url = "/Ajax/deletetask.aspx?id="+id;
	openpopup(url);
};
deletetaskok = function() {
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: "m=deleteUserTask&ut="+deletetaskid,
        success: function(json){
            if (json.Status == 'OK') {
                $("#panellogined").load("/AjaxDispatcher.aspx?u=PanelLogined&v="+ new Date());
                document.getElementById("iframe").contentWindow.location.reload(true);
                closepopupbyid("deltask"+deletetaskid);
                closepopupbyid("task"+deletetaskid);
            } 
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });		
};

// completetask
var completetaskid;
completetask = function(id) {
    completetaskid = id;
	var url = "/Ajax/completetask.aspx?id="+id;
	openpopup(url);
};
completetaskok = function() {
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: "m=completeUserTask&ut="+completetaskid,
        success: function(json){
            if (json.Status == 'OK') {
                $("#panellogined").load("/AjaxDispatcher.aspx?u=PanelLogined&v="+ new Date());
                document.getElementById("iframe").contentWindow.location.reload(true);
                closepopupbyid("comptask"+completetaskid);
                closepopupbyid("task"+completetaskid);
            } 
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });		
};


// openWindow
var newwindow;
openWindow = function(url) {
	newwindow=window.open(url,'popuptog','width=800,height=600,resizable=yes,scrollbars=no,toolbar=no,status=no');
	if (window.focus) { newwindow.focus(); }
};

// openHelp
var newhelpwindow;
openHelp = function(url) {
	newhelpwindow=window.open(url,'helpog','width=690,height=536,resizable=no,scrollbars=no,toolbar=no,status=no');
	if (window.focus && newhelpwindow) { newhelpwindow.focus(); }
};

openWindowMax = function(url) {
	var options = 'status=yes,menubar=yes,scrollbars=yes,resizable=yes,toolbar=yes,location=yes';
	options += ',width=' + (screen.availWidth - 10).toString();
	options += ',height=' + (screen.availHeight - 122).toString();
	options += ',screenX=0,screenY=0,left=0,top=0';

	newwindow=window.open(url,'max', options);
	if (window.focus) { newwindow.focus(); }
};

// moveLayer
var layerPos = 0;
moveLayer = function(step) {
    layerPos += step;
    var newMarginLeft = (114*layerPos)+'px';
    $('#myselectlayer').css('marginLeft',newMarginLeft);
    setLayerNav();
};
setLayerNav = function() {
    if (document.getElementById('myselectlayer')) {
        var numbHouses = $('#myselectlayer/div').length;
        if (layerPos === 0 || numbHouses <= 5) {
            $('#myselectprev').hide();
        } else {
            $('#myselectprev').show();
        }
        if (layerPos == 5-numbHouses || numbHouses <= 5) {
            $('#myselectnext').hide();
        } else {
            $('#myselectnext').show();
        }
    }
};


impersonate = function() {
    $('#errorImpersonate').hide();
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
	    data: "m=impersonate&u=" + $('#txtImpersonate').val(),
        success: function(json){
            if (json.Status == 'OK') {
                setLoginContainers();
                $('#txtImpersonate').val('');
            } else {
                $('#errorImpersonate').html(json.Status).show();
            }
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });
};



// submitNewsletter
submitNewsletter = function() {
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
	    data: "m=subscribeUser&n=" + $('#nlname').val() + "&e=" + $('#nlemail').val(),
        success: function(json){
            if (json.Status == 'OK') {
				$('#nlform').hide();
				$('#nlmsg').show();
            } else {
	            openpopup("/Ajax/error.aspx?t=ea5892e1-44d8-41da-8114-f9eb4789c5ac&s="+json.Status);
            }
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });	
};

//openAccordeonTab
openAccordeonTab = function(obj) {
	var opentab = $("../../div.open",obj);
	opentab.removeClass("open");
    var curtab = $("..",obj);
    curtab.addClass("open");
};

// ******************************************************************************* //
// *************************		packageselect		 ************************* //
// ******************************************************************************* //
// openPSTab
togglePSTab = function(id) {
	var tr = document.getElementById(id);
	if (tr.className == "active") {
		tr.className = "";
	} else {
		tr.className = "active";
	}
};
// closePSTab
closePSTab = function(id) {
	var tr = document.getElementById(id);
	tr.className = "";
};
// openPackage
var currentPackage = 0;
openPackage = function(num) {
	if (currentPackage != num) {
		document.getElementById("packagetab" + currentPackage).className = "tab";
		document.getElementById("package" + currentPackage).style.display = "none";
		document.getElementById("packagetab" + num).className = "tab active";
		document.getElementById("package" + num).style.display = "block";
		document.getElementById("radiopack" + num).checked = true;
		
		currentPackage = num;
	}
	
};
// checkService: add/remove price
checkService = function(obj, price, num) {
	var correctTotalServices = document.getElementById("psTotalServices"+num).innerHTML.replace(".","").replace(",",".");
	var oldTotalService = parseFloat(correctTotalServices);
	var correctTotal = document.getElementById("psTotal"+num).innerHTML.replace(".","").replace(",",".");
	var oldTotal = parseFloat(correctTotal);
	if (obj.checked) {
		var newTotalService = oldTotalService + price;
		document.getElementById("psTotalServices"+num).innerHTML = formatCurrency(newTotalService);
		var newTotal = oldTotal + price;
		document.getElementById("psTotal"+num).innerHTML = formatCurrency(newTotal);
	}
	else
	{
		//alert(price);
		var newTotalService = oldTotalService - price;
		document.getElementById("psTotalServices"+num).innerHTML = formatCurrency(newTotalService);
		var newTotal = oldTotal - price;
		document.getElementById("psTotal"+num).innerHTML = formatCurrency(newTotal);
	}
	
};
formatCurrency = function(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+'.'+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + ',' + cents);
};


// ******************************************************************************* //
// *************************		Payments			 ************************* //
// ******************************************************************************* //
//PaymentOverview
payPayments = function(obj, sp) {
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
	    data: "m=payPayments&pids=" + sp,
        success: function(json){
            if (json.Status == 'OK') {
				$('#nlform').hide();
				$('#nlmsg').show();
            } else {
	            openpopup("/Ajax/error.aspx?t=ea5892e1-44d8-41da-8114-f9eb4789c5ac&s="+json.Status);
            }
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });
};
// showServicePackage
showServicePackage = function(id,datatype) {
	if (datatype == "Package") {
		openpopup("/Ajax/OverviewServicePackage.aspx?id="+id);
	}
};
// deleteservices
deleteservices = function(obj,ids) {
	$.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
	    data: "m=deleteUserServices&us=" + ids,
        success: function(json){
            if (json.Status == 'OK') {
				closepopup(obj);
				clickSlidedownNav(4);
				reloadLoginPanel();
            } else {
	            openpopup("/Ajax/error.aspx?t=ea5892e1-44d8-41da-8114-f9eb4789c5ac&s="+json.Status);
            }
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });	
};


// Reload loginpannel
reloadLoginPanel = function(){
    $("#panellogined").load("/AjaxDispatcher.aspx?u=PanelLogined&v="+ new Date());
};


// ******************************************************************************* //
// *************************		Agenda				 ************************* //
// ******************************************************************************* //
approveAppointment = function(obj, uaid) {
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: "m=approveAppointment&uaid=" + uaid,
        success: function(json){
			closepopup(obj);
			document.getElementById("iframe").contentWindow.location.reload(true);
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });		
};
cancelAppointment = function(obj, uaid) {
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: "m=cancelAppointment&uaid=" + uaid + "&r=" + $("#reason").val(),
        success: function(json){
			closepopup(obj);
			document.getElementById("iframe").contentWindow.location.reload(true);
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });		
};


// ******************************************************************************* //
// *************************		SiteAds				 ************************* //
// ******************************************************************************* //
clickSiteAd = function(obj, sid) {
	if (obj.clicked == null) {
		obj.clicked = true;
		$.ajax({
			type: "POST",
			url: "/dispatcher.aspx",
			dataType: "json",
			data: "m=clickSiteAd&s=" + sid,
			success: function(json){
				 if (json.Status == 'OK') {
					obj.clicked = true;
				} else {
					obj.clicked = null;
				}
			},
			error: function(){
				obj.clicked = null;
			}
		});		
	}
};


// ******************************************************************************* //
// *************************		Services			 ************************* //
// ******************************************************************************* //
payDirect = function() {
    reloadLoginPanel();
	closepopupbyid('iframeHandler');
	showSlidedown();
	clickSlidedownNav(4);
};


// ******************************************************************************* //
// *************************		UserObjects 		 ************************* //
// ******************************************************************************* //

// addUserObject
addUserObject = function(id) {
    //if (id === '') id = currentObjectId;
    
    if (document.getElementById('userobjects')) {
        $.ajax({
            type: "POST",
            url: "/dispatcher.aspx",
            dataType: "json",
		    data: "m=saveUserObject&o="+id,
            success: function(json){
                if (json.Status == 'OK') {
                    $("#userobjects").load("/AjaxDispatcher.aspx?u=UserObjects&v=" + new Date(),function(){
                        setLayerNav();
	                });
                }
            },
            error: function(){
                openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
            }
        });		    
	} else {
		//Not logined
		openpopup('/Ajax/IframeHandler.aspx?m=Limited');	    
	}
};

// removeUserObject
var removeUserObjectId;
removeUserObject = function(id,processid) {
    removeUserObjectId = id;
    
    var url = "/Ajax/deleteuserobject.aspx?id=" + id;
    if (processid) {
		url += "&pid=" + processid;
	}
	openpopup(url);
};
removeUserObjectOK = function(processid) {
    var url = "m=deleteUserObject&o="+removeUserObjectId;
    if (processid) {
		url += "&pid=" + processid;
	}
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: url,
        success: function(json){
            if (json.Status == 'OK') {
                if (document.getElementById("userobjects")) {
					// Update userobjects
					$("#userobjects").load("/AjaxDispatcher.aspx?u=UserObjects&v=" + new Date(),function(){
						closepopupbyid("deluo"+removeUserObjectId);
						setLayerNav();
					});
				} else {
					// Reload page
					//var href = window.location.href;
					window.location.href = "OverviewHouses.aspx";
				}
            }
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });		
};


// ******************************************************************************* //
// *************************		GetBuildtypes		 ************************* //
// ******************************************************************************* //
getBuildTypes = function(obj) {
	var id = obj.options[obj.selectedIndex].value;
	$("#buildtypes").load("/Ajax/BuildTypes.aspx?o=" + id);
};

// ******************************************************************************* //
// ************************* reset extended searchfields ************************* //
// ******************************************************************************* //
resetExtendeSearchFields = function() {
	//	reset 'Minimaal aantal kamers'
	document.getElementById('roommin').options[0].selected = true;
	//	reset 'Type object'
	document.getElementById('ot').options[0].selected = true;
	//	reset 'soort bouw'
	$("#buildtypes").load("/Ajax/BuildTypes.aspx?o=");
	//	reset 'Bouwperiode' hidden fields and slider
	min = 1900;
	max = new Date();
	document.getElementById('bpmin').value = min;
	document.getElementById('bpmax').value = max.getFullYear();
    createBuildperiodSlider(min,max.getFullYear());
    //	reset 'Inhoud' hidden fields and slider
	min = 0;
	max = 1000;
   	document.getElementById('m3min').value = min;
	document.getElementById('m3max').value = max;
    createVolumeSlider(min,max);
    //	reset 'Perceeloppervlak' hidden fields and slider
	min = 0;
	max = 5000;
   	document.getElementById('pm2min').value = min;
	document.getElementById('pm2max').value = max;
    createGroundSlider(min,max);
    //	reset 'Woonoppervlak' hidden fields and slider
	min = 0;
	max = 250;
   	document.getElementById('m2min').value = min;
	document.getElementById('m2max').value = max;
    createLivingSpaceSlider(min,max);
};

// ******************************************************************************* //
// *************************		CreateFlash			 ************************* //
// ******************************************************************************* //
createFlash = function(containerid, swf, width, height) {
	$(document).ready(function() {
		var so = new SWFObject(swf, "swf_"+containerid, width, height, "8", "#FFFFFF");
		so.addParam("wmode", "transparent");
		so.useExpressInstall("/swf/expressinstall.swf");
		so.write(containerid);
	});
};

// ******************************************************************************* //
// *************************		tooltip				 ************************* //
// ******************************************************************************* //
$(document).ready(function() {
	$("img[@title]").Tooltip({ showURL: false });
});
