// ******************************************************************************* //
// *************************	jQuery helper functions  ************************* //
// ******************************************************************************* //

jQuery.fn.hasClass = function(expr){
	return this.is("." + expr);
};

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}


// ******************************************************************************* //
// *************************		Cookies				 ************************* //
// ******************************************************************************* //

setcookie = function(name, value) {
	var expiredays = 365;
	var ExpireDate = new Date ();   
	ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));   
	//begin = value.indexOf("&otp=");
	begin = -1;
	if (begin != -1) {
			begin += 5;
			end = value.indexOf("&", begin);
			if (end == -1) end = value.length;
			value = Left(value, begin) + Right(value, value.length - end);
 	}
	document.cookie = name + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());  
};
getcookie = function(name) {
	if (document.cookie.length > 0) {
		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			 ************************* //
// ******************************************************************************* //

// Read parameter form field
setParameters = function () {
    //alert("** setParameters **");	

    param.c = $("#c").val();

    var url = window.location.href;
    if (url.toLowerCase().indexOf('search.aspx') > 0 || url.toLowerCase().indexOf('search-mol.aspx') > 0 || url.toLowerCase().indexOf('select.aspx') > 0) {
        param.rmin = $("#rmin").val();
        param.rmax = $("#rmax").val();
        param.pmin = $("#pmin").val();
        param.pmax = $("#pmax").val();

        //param.s = $("#s").val();
        //param.h = $("#h").val();
        //param.he = $("#he").val();

        param.ot = $("#ot").val();
        param.otp = $("#otp").val();

        param.gardendir = $("#gardendirection").val();
        param.roommin = $("#roommin").val();
        param.roombedmin = $("#roombedmin").val();

        param.bt = "";
        $("input[name=bt]").each(function () {
            if (this.checked) {
                param.bt += $(this).val() + ",";
            }
        });

        param.bpmin = $("#bpmin").val();
        param.bpmax = $("#bpmax").val();
        //param.m3min = $("#m3min").val();
        //param.m3max = $("#m3max").val();
        param.pm2min = $("#pm2min").val();
        param.pm2max = $("#pm2max").val();
        param.m2min = $("#m2min").val();
        param.m2max = $("#m2max").val();

        if (document.getElementById('boxmap')) {
            var bounds = map.getBounds();
            lat1 = bounds.getSouthWest().lat();
            lng1 = bounds.getSouthWest().lng();
            lat2 = bounds.getNorthEast().lat();
            lng2 = bounds.getNorthEast().lng();

            param.lat1 = lat1;
            param.lng1 = lng1;
            param.lat2 = lat2;
            param.lng2 = lng2;
        }
    }
    else {
        if ($('#OfferTypeRadio0:checked').val() == "0") {
            param.otp = "S";
        }
        if ($('#OfferTypeRadio1:checked').val() == "1") {
            param.otp = "R";
        }
        if ($('#OfferTypeRadio2:checked').val() == "2") {
            param.otp = "A";
        } else {
            $("#aanbodwrapper li.active").each(function () {
                if (this.id == "offertype-s") {
                    param.otp = "S";
                } else
                    if (this.id == "offertype-r") {
                        param.otp = "R";
                    } else {
                        param.otp = "A"
                    }
            });
            param.ot = '';
            $("#categoriewrapper li.active").each(function () { if (this.id != "objecttype-all") { param.ot = this.id; } });
        }
    }
    param2url();
};

// Build search url from parameter
param2url = function () {
    //alert("** param2url **");
    // searchtype: 0 = drag, 1 = simple, 2 = adres, 3 = extend, 
    urlParam = "";
    for (field in param) {
        if (param[field]) {
            if (param[field].toString() != "") {
                urlParam += "&" + field + "=" + encodeURIComponent(jQuery.trim(param[field].toString()));
            }
        }
    }
};

url2param = function() {
	var par = urlParam.split("&");
	for(t in par){
		if (par[t] != "" && par[t] != "tabid") {
			var keys = par[t].split("=");
			param[keys[0]] = decodeURIComponent(jQuery.trim(keys[1]));
		}
	}
};



// ******************************************************************************* //
// *************************		default				 ************************* //
// ******************************************************************************* //
var currentdate=new Date();
var urlParam = "";

var param = new Object();

setDefaultParam = function() {
    param.c = "";
    param.rmin = 0;
    param.rmax = 0;
    param.pmin = 0;
    param.pmax = 1000000;
    //param.s = "";
    //param.h = "";
    //param.he = "";
    param.otp = "A";

    param.gardendir = "";
    param.roommin = 0;
    param.roombedmin = 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.p = 1;

    param.st = 0;

};
setDefaultParam();

//Read cookie
var sq = getcookie("togsq");
if (sq != "") {
	urlParam = sq;
	url2param();
}

// get url param and go to tab
function goToTab(strParamName){
	var strReturn = "";
	var strHref = window.location.href;
	if ( strHref.indexOf("?") > -1 ){
		var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
		var aQueryString = strQueryString.split("&");
		for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
			if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
				var aParam = aQueryString[iParam].split("=");
				strReturn = aParam[1];
				break;
			}
		}
	}
	opendetailtab(strReturn);
}

$(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();
        setRadSliderValue(param.rmin, param.rmax);
        createPriceSlider();
        setPriceSliderValue(param.pmin, param.pmax);
        createOfferTypeSelector();
        setOfferTypeSelectorValue(param.otp);
        createObjectTypeSelector();
        setObjectTypeSelectorValue(param.ot);

        if ($(".boxsearchhome").size() == 0) {
            createBuildperiodSlider();
            setBuildperiodSliderValue(param.bpmin, param.bpmax);
            createGroundSlider();
            setGroundSliderValue(param.pm2min, param.pm2max);
            createLivingSpaceSlider();
            setLivingSpaceSliderValue(param.m2min, param.m2max);
            createGardenDirCompass();
            setGardenDirCompassValue(param.gardendir);
            createNumberOfRoomsSelector();
            setNumberOfRoomsSelectorValue(param.roommin);
            createNumberOfBedRoomsSelector();
            setNumberOfBedRoomsSelectorValue(param.roombedmin);
        }
        else
        {
            if (param.otp == "S") {
                $('#OfferTypeRadio0')[0].checked = true
            }
            else
                if (param.otp == "R") {
                $('#OfferTypeRadio1')[0].checked = true
            }
            else $('#OfferTypeRadio2')[0].checked = true
        }
    }
    if (document.getElementById("dienstblok-zoeken")) {
        var urlautocomplete = '/dispatcher.aspx?m=getCities';
        $("#c").autocomplete(urlautocomplete);

        $('#c').val(param.c);

        $('#c').keypress(function(e) { if (e.which == 13) searchHouses(); });

        $('#aanbodwrapper li').click(function() {
            $('#aanbodwrapper li').removeClass('active');
            $(this).addClass('active');
        });

        $('#categoriewrapper li').click(function() {
            $('#categoriewrapper li').removeClass('active');
            $(this).addClass('active');
        });
        if (param.ot != "") {
            var preselObjectType = $('#' + param.ot)
            preselObjectType.addClass('active');
        } else {
            $('#objecttype-all').addClass('active');
        }

        if (param.otp == "S") {
            $('#offertype-s').addClass('active');
        }
        else
            if (param.otp == "R") {
            $('#offertype-r').addClass('active');
        }
        else {
            $('#offertype-a').addClass('active');
        }

        $('#c').keypress(function(e) { if (e.which == 13) searchHouses(); });
    }

    if (param.c != "") {
        $('#searchbuttonoff').hide();
        $('#searchbuttonon').show();
    }
    if (document.getElementById('boxmap')) {
        createMap();

        //read parameters
        if (href.indexOf("?") > -1) {
            submitUrl(href);

        } else {
            if (param.c == "") {
                param.st = 0;
                getHouses();
            } else {
                setSearchQuery(true);
            }
        }
    }

    if (document.getElementById('boxcitymap')) {
        if (href.indexOf("?") > -1) {
            submitUrlBoxCityMap(href);
        }
        createCityMap();
        showSearchBox(true);
    }

    setLayerNav();

    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) { }

    // Only logged in
    if (document.getElementById('slidedown')) {
        if (href.indexOf("showpayment") > -1) {
            payDirect();
        }
    }

});



// ****************************** Toggle script ********************************** //


function toggle_visibility(id) {
    var e = document.getElementById(id);
    if (e.style.display == 'block')
        e.style.display = 'none';
    else
        e.style.display = 'block';
}


function toggle(id, toggledown, toggleup) {
    var e = document.getElementById(id);
    var f = document.getElementById(toggledown);
    var g = document.getElementById(toggleup);

    if (e.style.display == 'block') {
        e.style.display = 'none';
        f.style.display = 'block';
        if (g!=null)g.style.display = 'none';
    }
    else {
        e.style.display = 'block';
        f.style.display = 'none';
        if (g != null) g.style.display = 'block';
    }
}



// ******************************************************************************* //
// *************************		Toppanel			 ************************* //
// ******************************************************************************* //
doLogin = function() {
    var qs = $("input", $("#loginfields")).serialize();
    $('#loginLoader').show();
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: "m=loginUser&"+qs,
        success: function(json){
            if (json.Status == 'OK') {
				if (document.getElementById('securepage')) {
					window.location.reload();
				} else {
	                setLoginContainers();
		            //resetoverlay();
		            resetoverlay('toppanel');
		        }
            } 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().valueOf());
    $("#mainmenu").load("/AjaxDispatcher.aspx?u=Mainmenu&v="+ new Date().valueOf());
    if (document.getElementById('topgraypanel')) {
        $("#topgraypanel").load("/AjaxDispatcher.aspx?u=GrayPanel&v="+ new Date().valueOf(),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 = $("input:text, input:password", $("#divregform")).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();
        }
    });
};

doChangePassword = function() {
    $('#regLoader').show();
    var qs = $("input:password", $("#divregform")).serialize();

    $.ajax({
        type: "Post",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: "m=changePassword&"+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				 ************************* //
// ******************************************************************************* //

// updateSliderText
updateSliderText = function (descid, minid, maxid, maxmax, division, showplus, descformat) {
    var text;
    var min = $("#" + minid).val() / division;
    var max = $("#" + maxid).val() / division;
    if (min == max) {
        text = min.toString();
    } else {
        text = siteTexts[descformat].replace("[#minValue#]", min).replace("[#maxValue#]", max);
    }
    if (showplus && (max == maxmax)) {
        text += "+";
    }
    $("#" + descid).text(text);
};
// createRadSlider
createRadSlider = function() {
	$('#sliderradius').slider({
	    range: true,
	    min: 0,
        max: 50,
		slide: function (event, ui) {
		    $("#rmin").val(ui.values[0]);
		    $("#rmax").val(ui.values[1]);
		    updateSliderText("rvaluedesc", "rmin", "rmax", 50, 1, true, "01bd3b80-9d0e-4c5f-bff4-7cc2941d460a");
		},
        change: function (event, ui) {
		    $("#rmin").val(ui.values[0]);
		    $("#rmax").val(ui.values[1]);
		    updateSliderText("rvaluedesc", "rmin", "rmax", 50, 1, true, "01bd3b80-9d0e-4c5f-bff4-7cc2941d460a");
		}
	});
};
// setRadSliderValue
setRadSliderValue = function (min, max) {
    $('#sliderradius').slider("values", 0, min);
    $('#sliderradius').slider("values", 1, max);
};
// createPriceSlider
createPriceSlider = function() {
    $('#sliderprice').slider({
        range: true,
        min: 0,
        max: 1000,
        slide: function (event, ui) {
            $("#pmin").val(ui.values[0] * 1000);
            $("#pmax").val(ui.values[1] * 1000);
            updateSliderText("pvaluedesc", "pmin", "pmax", 1000, 1000, true, "43f2da35-4835-4f5c-96eb-2deb6cc54916");
        },
        change: function (event, ui) {
            $("#pmin").val(ui.values[0] * 1000);
            $("#pmax").val(ui.values[1] * 1000);
            updateSliderText("pvaluedesc", "pmin", "pmax", 1000, 1000, true, "43f2da35-4835-4f5c-96eb-2deb6cc54916");
        }
    });
};
// setPriceSliderValue
setPriceSliderValue = function (min, max) {
    $('#sliderprice').slider("values", 0, min/1000);
    $('#sliderprice').slider("values", 1, max / 1000);
};
// createBuildperiodSlider
createBuildperiodSlider = function() {
    $('#sliderbuildperiod').slider({
        range: true,
        min: 1900,
        max: currentdate.getFullYear(),
        slide: function (event, ui) {
            $("#bpmin").val(ui.values[0]);
            $("#bpmax").val(ui.values[1]);
            updateSliderText("bpvaluedesc", "bpmin", "bpmax", currentdate.getFullYear(), 1, false, "43f2da35-4835-4f5c-96eb-2deb6cc54916");
        },
        change: function (event, ui) {
            $("#bpmin").val(ui.values[0]);
            $("#bpmax").val(ui.values[1]);
            updateSliderText("bpvaluedesc", "bpmin", "bpmax", currentdate.getFullYear(), 1, false, "43f2da35-4835-4f5c-96eb-2deb6cc54916");
        }
    });
};
// setBuildperiodSliderValue
setBuildperiodSliderValue = function (min, max) {
    $('#sliderbuildperiod').slider("values", 0, min);
    $('#sliderbuildperiod').slider("values", 1, max);
};
// createGroundSlider
createGroundSlider = function() {
    $('#sliderground').slider({
        range: true,
        min: 0,
        max: 5000,
        slide: function (event, ui) {
            $("#pm2min").val(ui.values[0]);
            $("#pm2max").val(ui.values[1]);
            updateSliderText("pm2valuedesc", "pm2min", "pm2max", 5000, 1, true, "70907703-68c8-48b0-b495-200d53f5d554");
        },
        change: function (event, ui) {
            $("#pm2min").val(ui.values[0]);
            $("#pm2max").val(ui.values[1]);
            updateSliderText("pm2valuedesc", "pm2min", "pm2max", 5000, 1, true, "70907703-68c8-48b0-b495-200d53f5d554");
        }
    });
};
// setGroundSliderValue
setGroundSliderValue = function (min, max) {
    $('#sliderground').slider("values", 0, min);
    $('#sliderground').slider("values", 1, max);
};
// createLivingSpaceSlider
createLivingSpaceSlider = function() {
    $('#sliderlivingspace').slider({
        range: true,
        min: 0,
        max: 250,
        slide: function (event, ui) {
            $("#m2min").val(ui.values[0]);
            $("#m2max").val(ui.values[1]);
            updateSliderText("m2valuedesc", "m2min", "m2max", 250, 1, true, "70907703-68c8-48b0-b495-200d53f5d554");
        },
        change: function (event, ui) {
            $("#m2min").val(ui.values[0]);
            $("#m2max").val(ui.values[1]);
            updateSliderText("m2valuedesc", "m2min", "m2max", 250, 1, true, "70907703-68c8-48b0-b495-200d53f5d554");
        }
    });
};
// setLivingSpaceSliderValue
setLivingSpaceSliderValue = function (min, max) {
    $('#sliderlivingspace').slider("values", 0, min);
    $('#sliderlivingspace').slider("values", 1, max);
};
// createGardenDirCompass
createGardenDirCompass = function () {
    $('.compass div').click(function () {
        if (!$(this).hasClass("active")) {
            $('.compass div').removeClass("active");
            $(this).addClass("active");
            $("#gardendirection").val($(this).text());
            $("#gardendirectiondesc").text($(this).attr('data-title'));
        } else {
            $('.compass div').removeClass("active");
            $("#gardendirection").val("");
            $("#gardendirectiondesc").text("");
        }
    });
};
// setGardenDirCompassValue
setGardenDirCompassValue = function (val) {
    if ((val != null) && (val != "")) {
        var sel = $('.compass div.' + val);
        sel.addClass("active");
        $("#gardendirectiondesc").text(sel.attr('data-title'));
    } else {
        $('.compass div').removeClass("active");
        $("#gardendirectiondesc").text();
    }
};
// createNumberOfRoomsSelector
createNumberOfRoomsSelector = function () {
    $('.nrofrooms div').click(function () {
        if (!$(this).hasClass("active")) {
            $('.nrofrooms div').removeClass("active");
            $(this).addClass("active");
            $("#roommin").val($(this).text());
        } else {
            $('.nrofrooms div').removeClass("active");
            $("#roommin").val("");
        }
    });
};
// setNumberOfRoomsSelectorValue
setNumberOfRoomsSelectorValue = function (val) {
    if ((val != null) && (val != "") && (val != "0")) {
        $('.nrofrooms div:eq(' + (val - 1) + ')').addClass("active");
    } else {
        $('.nrofrooms div').removeClass("active");
    }
};
// createNumberOfBedRoomsSelector
createNumberOfBedRoomsSelector = function () {
    $('.nrofbedrooms div').click(function () {
        if (!$(this).hasClass("active")) {
            $('.nrofbedrooms div').removeClass("active");
            $(this).addClass("active");
            $("#roombedmin").val($(this).text());
        } else {
            $('.nrofbedrooms div').removeClass("active");
            $("#roombedmin").val("");
        }
    });
};
// setNumberOfBedRoomsSelectorValue
setNumberOfBedRoomsSelectorValue = function (val) {
    if ((val != null) && (val != "") && (val != "0")) {
        $('.nrofbedrooms div:eq(' + (val - 1) + ')').addClass("active");
    } else {
        $('.nrofbedrooms div').removeClass("active");
    }
};
// createOfferTypeSelector
createOfferTypeSelector = function (val) {
    $('.offertype li').click(function () {
        $('.offertype li').removeClass("active");
        $(this).addClass("active");
        switch ($(this)[0].id) {
            case 'offertype-a': $("#otp").val('A'); break;
            case 'offertype-s': $("#otp").val('S'); break;
            case 'offertype-r': $("#otp").val('R'); break;
        }
    });
};
// setOfferTypeSelectorValue
setOfferTypeSelectorValue = function (val) {
    if ((val != null) && (val != "")) {
        switch (val) {
            case 'A': $('#offertype-a').addClass("active"); break;
            case 'S': $('#offertype-s').addClass("active"); break;
            case 'R': $('#offertype-r').addClass("active"); break;
        }
    } else {
        $('#offertype-a').addClass("active");
    }
};
// createObjectTypeSelector
createObjectTypeSelector = function (val) {
    if ((val != null) && (val != "")) {
        $('#' + val).addClass("active");
    }
    $('.category li').click(function () {
        $('.category li').removeClass("active");
        $(this).addClass("active");
        if ($(this)[0].id == 'objecttype-all') {
            $("#ot").val('');
        } else {
            $("#ot").val($(this)[0].id);
        }
    });
};
setObjectTypeSelectorValue = function (val) {
    if ((val != null) && (val != "")) {
        var preselObjectType = $('#' + val)
        preselObjectType.addClass('active');
    } else {
        $('#objecttype-all').addClass('active');
    }
};
// searchHouses
searchHouses = function() {
    if ($('#c').val()) {
        var url = window.location.href;

        if (url.toLowerCase().indexOf('search.aspx') > 0) {
            param.st = 3;
        } else {
            param.st = 1;
        }

        if (url.toLowerCase().indexOf('search.aspx') > 0 || url.toLowerCase().indexOf('search-mol.aspx') > 0) {
            if (!running) {
                if (document.getElementById('housesscroll')) {
                    $('#housesscroll').css('overflow', 'auto');
                }
                running = true;
                //if ($("#rbsearchview1").is(":checked")) {
                //    showDetail();
                //} else {
                    showResult();
                //}
                emptyHouses();
                opendetailtab('overview');
                if (param.sb != "") {
                    $("#sort" + param.sb).removeClass("asc");
                    $("#sort" + param.sb).removeClass("dsc");
                    param.sb = "";
                    param.so = "";
                }
                //param.p = 1;
                param.oc = "";
                param.se = "";

                setParameters();
                setcookie("togsq", urlParam);

                getHouses();
                $('#resinfo').show();
                $('#resinfo a').show();
                $('#searchbuttonon').hide();
                $('#searchbuttonoff').show();
            }
        } else {
            param.se = "";
            setParameters();
            setcookie("togsq", urlParam);
            window.location.href = "/Search.aspx?" + urlParam.substring(1);
        }
        $("#hshads").load("/Ajax/HSHAds.aspx?c=" + param.c, function() {
            $("#defaultads").hide();
            $("#hshads").show();
        });
    }
};


// searchtab
searchtab = function(numb) {
	if (numb == 1) {
		if (document.getElementById('housesscroll')) {
			$('#housesscroll').css('overflow','auto');
		}
	} else if (numb == 3) {
		if (document.getElementById('housesscroll')) {
			$('#housesscroll').css('overflow','hidden');			
		}
	} else {
		if (document.getElementById('housesscroll')) {
			$('#housesscroll').css('overflow','auto');
		}
	}
};

// searchtab
searchlegend = function(type) {
	//$("#searchlegendlink").removeClass("active");
	//$("#companylegendlink").removeClass("active");
	//$("#poilegendlink").removeClass("active");

	$("#searchform").hide();
	$("#companyform").hide();
	$("#poiform").hide();
	
	//$("#"+type+"legendlink").addClass("active");
	$("#"+type+"form").show();
};

var restoreWideSearchBox;

// showSearchBox
showSearchBox = function(show) {
    var url = window.location.pathname;
    if (url.toLowerCase().indexOf('search.aspx') > 0 || url.toLowerCase().indexOf('search-mol.aspx') > 0) {
        if (show) {
            if (!restoreWideSearchBox) {
                if (currenttab == "pois" || currenttab == "companies") {
                    searchtab(1);
                    restoreWideSearchBox = true;
                } else {
                    restoreWideSearchBox = false;
                }
            }
            $("#boxsearch").css("margin-left", "0px");
        } else {
            $("#boxsearch").css("margin-left", "-9999px");
            if (restoreWideSearchBox) {
                searchtab(3);
                restoreWideSearchBox = false;
            }
        }
    }
    if ((url.toLowerCase().indexOf('select.aspx') > 0) || (url == '/')) {
        $("#boxsearch").css("margin-left", "0px");
        $("#boxsearch a.close").css("display", "none");
    }
};



// ******************************************************************************* //
// *************************		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) {
        param.st = 3; // Extend search
        setParameters();

        $.ajax({
            type: "POST",
            url: "/dispatcher.aspx",
            dataType: "json",
            data: "m=saveSearchQuery&t=" + title + urlParam,
            success: function (json) {
                if (json.Status == 'OK') {
                    $("#mytasks").load("/AjaxDispatcher.aspx?u=AlertQueries&v=" + new Date().valueOf());
                } 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
setBoxCityMapQuery = function(submit) {
	$('#c').val(param.c);

	$('#rmin').val(param.rmin);
	$('#rmax').val(param.rmax);
	setRadSliderValue(param.rmin, param.rmax);
	
	$('#pmin').val(param.pmin);
	$('#pmax').val(param.pmax);
    setPriceSliderValue(param.pmin,param.pmax);

    //Advanced
    $('#gardendirection').val(param.gardendir);
    setGardenDirCompassValue(param.gardendir);
    $('#roommin').val(param.roommin);
    $('#roombedmin').val(param.roombedmin);
	$('#ot').val(param.ot);

	$('#bpmin').val(param.bpmin);
	$('#bpmax').val(param.bpmax);
    setBuildperiodSliderValue(param.bpmin,param.bpmax);
	
	//$('#m3min').val(param.m3min);
	//$('#m3max').val(param.m3max);
	
	$('#pm2min').val(param.pm2min);
	$('#pm2max').val(param.pm2max);
    setGroundSliderValue(param.pm2min,param.pm2max);
	
	$('#m2min').val(param.m2min);
	$('#m2max').val(param.m2max);
    setLivingSpaceSliderValue(param.m2min,param.m2max);

    $('#otp').val(param.otp);
    if (param.otp == "S")
	{
	    $('#OfferTypeRadio0')[0].checked = true 
	}
	else 
	if (param.otp == "R")
	{
	    $('#OfferTypeRadio1')[0].checked = true 
	}
	else $('#OfferTypeRadio2')[0].checked = true 
	

	if (submit && !running) {
		searchtab(param.st);
		running = true;
		//if ($("#rbsearchview1").is(":checked")) {
		//	showDetail();
		//} else {
			showResult();
		//}
			
		if (param.sb != "") {
			$("#sort"+param.sb).removeClass("asc");
			$("#sort"+param.sb).removeClass("dsc");
			param.sb = "";
			param.so = "";
		}				
			
	}
};


// setSearchQuery
setSearchQuery = function(submit) {
	$('#c').val(param.c);

	$('#rmin').val(param.rmin);
	$('#rmax').val(param.rmax);
	setRadSliderValue(param.rmin, param.rmax);
	
	$('#pmin').val(param.pmin);
	$('#pmax').val(param.pmax);
    setPriceSliderValue(param.pmin,param.pmax);

    //Advanced
    $('#gardendirection').val(param.gardendir);
    setGardenDirCompassValue(param.gardendir);
    $('#roommin').val(param.roommin);
    setNumberOfRoomsSelectorValue(param.roommin);
    $('#roombedmin').val(param.roombedmin);
    setNumberOfBedRoomsSelectorValue(param.roombedmin);
    $('#ot').val(param.ot);

	$('#bpmin').val(param.bpmin);
	$('#bpmax').val(param.bpmax);
    setBuildperiodSliderValue(param.bpmin,param.bpmax);
	
	//$('#m3min').val(param.m3min);
	//$('#m3max').val(param.m3max);
	
	$('#pm2min').val(param.pm2min);
	$('#pm2max').val(param.pm2max);
    setGroundSliderValue(param.pm2min,param.pm2max);
	
	$('#m2min').val(param.m2min);
	$('#m2max').val(param.m2max);
    setLivingSpaceSliderValue(param.m2min,param.m2max);

    $('#otp').val(param.otp);
    if (param.otp == "S")
	{
	    $('#OfferTypeRadio0').val(true);
	}
	if (param.otp == "R")
	{
	    $('#OfferTypeRadio1').val(true);
	}
	if ((param.otp == "A") || (param.otp == ""))
	{
	    $('#OfferTypeRadio2').val(true);
	}
	
	if (submit && !running) {
		searchtab(param.st);
		running = true;
		//if ($("#rbsearchview1").is(":checked")) {
		//	showDetail();
		//} else {
			showResult();
		//}
		emptyHouses();
		if (param.sb != "") {
			$("#sort"+param.sb).removeClass("asc");
			$("#sort"+param.sb).removeClass("dsc");
			param.sb = "";
			param.so = "";
		}				
		getHouses();
	}
};

// 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().valueOf(),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).parent()).removeClass('active');
	$('#panelloginbutton').hide();
	$('#panLoader').show();
	activeobj = $(obj);
	activeobj.addClass('active');
	$('#panelajax').load('/Ajax/' + src + '.aspx?v=' + new Date().valueOf(), function(responseText, textStatus, XMLHttpRequest) {
		$('#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) {
	$("#"+layer).css("zIndex",(jsoverlayzindex+2));
	$("#overlay").css({ 
		zIndex: (jsoverlayzindex+1)
	});
	
	//setTimeout("$('#overlay').show();",10);
	$('#overlay').show();
	jsoverlayzindex=jsoverlayzindex+2;
};
unsetoverlay = function() {
	jsoverlayzindex = jsoverlayzindex - 2;
	if (jsoverlayzindex < 5000)
	{
		jsoverlayzindex = 5000;
	}
	if (jsoverlayzindex == 5000)
	{
		$("#overlay").css("zIndex", jsoverlayzindex);
	}
	else
	{
		//$("#overlay").css("zIndex",jsoverlayzindex-2);
		$("#overlay").css("zIndex", jsoverlayzindex - 1);
	}
};
resetoverlay = function(layer) {
	//jsoverlayzindex = 5000;
	jsoverlayzindex =- 2;
	if (jsoverlayzindex < 5000)
	{
		jsoverlayzindex = 5000;
	}
	$("#overlay").css("zIndex",jsoverlayzindex+1).hide();
	if (typeof(layer) != "undefined" && document.getElementById(layer)) {
		$("#"+layer).css("zIndex", jsoverlayzindex);
	}
};

// 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(2)').addClass('active');
            break;
        default:
            $('#iframe').attr('src','/Iframes/Userdetails.aspx?v='+ new Date() );
            $('#slidedownnav a:eq(0)').addClass('active');
            break;              
    }    
    
    //Refresh counters
	$("#panellogined").load("/AjaxDispatcher.aspx?u=PanelLogined&v="+ new Date().valueOf());
};


// 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 + 50;
		$(inner).css({ 
			marginTop: t+"px"
		});
		
		// Hide the vertical scrollbar
		//var oHtml = document.getElementById('htmlTag');
		//oHtml.style.overflowY = 'hidden';
		
		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) {
					try {
						inputs.get(0).focus();
					} catch(ex) {
					}
                } else {
					var focuses = $('a.focus', inner);
					if (focuses.length) {
						try {
							focuses.get(0).focus();
						} catch (ex) {
						}
					}
                }
			}
		});
};
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();
	
	// Show the vertical scrollbar
	var oHtml = document.getElementById('htmlTag');
	oHtml.style.overflowY = 'auto';
};
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();
	}
	
	// Show the vertical scrollbar
	var oHtml = document.getElementById('htmlTag');
	oHtml.style.overflowY = 'auto';
};
closeallpopups = function() {
	$("div.popup").each(function(i) {
		closepopup(this);
	});	
};

// ******************************************************************************* //
// *************************		mailbox 			 ************************* //
// ******************************************************************************* //
// readmail
readmail = function(obj,id) {
    $(obj).parent().removeClass("new");
	var url = "/Ajax/readmail.aspx?id="+id;
	openpopup(url);
	$("#panellogined").load("/AjaxDispatcher.aspx?u=PanelLogined&v="+ new Date().valueOf());
};

// 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().valueOf());
                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().valueOf());
};

// 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().valueOf());
                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().valueOf());
                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 layerPosMySelect = 0;
var layerPosLastViewed = 0;

moveLayer = function(step) {
    if ($("#userObjectsScroll div.myselect").length > 0 && $("#userObjectsScroll div.myselect").is(":visible")) {
		layerPosMySelect += step;
		var newMarginLeft = (114*layerPosMySelect)+'px';
		$("#userObjectsScroll div.myselect").css('marginLeft',newMarginLeft);
    }
    else if ($("#userObjectsScroll div.mylastviewed").length > 0 && $("#userObjectsScroll div.mylastviewed").is(":visible")) {
		layerPosLastViewed += step;
		var newMarginLeft = (114*layerPosLastViewed)+'px';
		$("#userObjectsScroll div.mylastviewed").css('marginLeft',newMarginLeft);
    }
    setLayerNav();
};

setLayerNav = function() {
    var numbHouses = 0;
    var layerPos = 0;
    var housesDisplayed = 5;
    /*if ("narrow: " + $("#userobjects div:first").hasClass("UserObjectsNarrow")) {
		housesDisplayed = 5;
    }
    else if ("wide: " + $("#userobjects div:first").hasClass("UserObjectsWide")) {
		housesDisplayed = 7;
    }*/

    if ($("#userObjectsScroll div.myselect").length > 0 && $("#userObjectsScroll div.myselect").is(":visible")) {
        numbHouses = $("#userObjectsScroll div.myselect > div").length;
        layerPos = layerPosMySelect;
    }
    else if ($("#userObjectsScroll div.mylastviewed").length > 0 && $("#userObjectsScroll div.mylastviewed").is(":visible")) {
        numbHouses = $("#userObjectsScroll div.mylastviewed > div").length;
        layerPos = layerPosLastViewed;
    }
	if (numbHouses > housesDisplayed) {
        if (layerPos === 0 || numbHouses <= housesDisplayed) {
            $('#myselectprev').hide();
        } else {
            $('#myselectprev').show();
        }
        if (layerPos == housesDisplayed-numbHouses || numbHouses <= housesDisplayed) {
            $('#myselectnext').hide();
        } else {
            $('#myselectnext').show();
        }
    }
    else {
        $('#myselectprev').hide();
        $('#myselectnext').hide();
    }
};


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).parent().parent());
	opentab.removeClass("open");
    var curtab = $(obj).parent();
    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().valueOf());
};


// ******************************************************************************* //
// *************************		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() {
    closeallpopups();
    reloadLoginPanel();
	showSlidedown();
	clickSlidedownNav(4);
	
	//scroll to top
	window.scrollTo(0, 0);
	
};


// ******************************************************************************* //
// *************************		UserObjects 		 ************************* //
// ******************************************************************************* //

// addUserObject
addUserObject = function (id) {
    //if (id === '') id = currentObjectId;

    if (document.getElementById('panellogined')) {
        $.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().valueOf(), function () {
                        showSavedObjects();
                        //setLayerNav();
                        setGrayBoxTooltips();
                    });
                }
            },
            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=AddUserObject&o=' + id);
    }
};

// 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().valueOf(), function () {
                        closepopupbyid("deluo" + removeUserObjectId);
                        showSavedObjects();
                        //setLayerNav();
                        setGrayBoxTooltips();
                    });
                } 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");
        }
    });
};

// updateObject
var updateObjectId;
updateObject = function(id,statusid) {
    updateObjectId = id;
    
    var url = "/Ajax/updateobject.aspx?id=" + id + "&sid=" + statusid;
	openpopup(url);
};
updateObjectOK = function(statusid) {
    var url = "m=updateObject&o="+updateObjectId + "&sid=" + statusid;
    $.ajax({
        type: "POST",
        url: "/dispatcher.aspx",
        dataType: "json",
		data: url,
        success: function(json){
            if (json.Status == 'OK') {
				window.location.href = "OverviewHouses.aspx";
            }
        },
        error: function(){
            openpopup("/Ajax/error.aspx?t=a25d42f9-5365-45ea-bbbe-05780b9b6c69&s=d02434c9-55e0-43d4-8d1f-8f215c80a776");
        }
    });		
};

// ******************************************************************************* //
// *************************	Last Viewed Objects 	 ************************* //
// ******************************************************************************* //

// addUserObject
addLastViewedObject = function(id) {
	// Show My selection/Last viewed box if no objects were viewed previously
    if (!$("div.topgraypanel").is(":visible") && $("#userObjectsScroll div.mylastviewed > div").length === 0) {
		if (!$("#showLastViewedObjectsLink").hasClass("activeSelection")) {
			showLastViewedObjects();
		}
		// Add delay so that the map is hidden before the My Selection/Last Viewed bar is shown
		setTimeout("toggleMySearch(0);", 50);
    }
    $("#userObjectsScroll div.mylastviewed").load("/Ajax/UserObjectsList.aspx?u=" + id + "&t=lastviewed&v=" + new Date().valueOf(),
		function() {
			setGrayBoxTooltips();
		}
	);
	$("#userObjectsScroll div.mylastviewed").css("marginLeft","0px");
	layerPosLastViewed = 0;
	setLayerNav();
};


// ******************************************************************************* //
// ************************* reset extended searchfields ************************* //
// ******************************************************************************* //
resetExtendeSearchFields = function() {
    setDefaultParam();
    param.c = $("#c").val();
	setSearchQuery(false);
};

// ******************************************************************************* //
// *************************		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() {
	// Convert titles into tooltips
    $("img[title]").tooltip({ showURL: false });
    $("div[title]").tooltip({ showURL: false });
    $("h2[title]").tooltip({ showURL: false });
    $("#hpbanner ul li a[title]").tooltip({ showURL: false });
	setGrayBoxTooltips();
});

setGrayBoxTooltips = function() {
	// Convert titles into tooltips
	$("#userObjectsScroll div[title]").tooltip({
	  showURL: false, 
	  extraClass: "photo"
	});
};


// ******************************************************************************* //
// *************************		language			 ************************* //
// ******************************************************************************* //
setLanguage = function () {
	var value = $(this).attr("class");

	var today = new Date();
	today.setTime(today.getTime());
	expires = 1000 * 60 * 60 * 24 * 355;
	var expires_date = new Date(today.getTime() + (expires));

	document.cookie = "lang=" + escape(value) + ";expires=" + expires_date.toGMTString();

	window.location.href = window.location.href;

	return false;
}

// ******************************************************************************* //
// *************************		error tooltips		 ************************* //
// ******************************************************************************* //

// showError
showError = function (obj) {
    //var msg = $('../div',obj).className;
    //var msg = $(obj).attr("class");
    //var msg = $('../..//div',obj).attr("class");
    //var msg = $('../..//div',obj).attr("class");
    //alert(msg);
    //msg.show();
    var msg = $('span.errormsg', $(obj).parent().parent());
    msg.css('display', 'inline');
};
// hideError
hideError = function (obj) {
    //var msg = $('../div',obj).className;
    //var msg = $(obj).attr("class");
    var msg = $('span.errormsg', $(obj).parent().parent());
    msg.hide();
};
