﻿var map;
var zoomvalue;
var dragzoomctl;
var zoomlevelzipcode = 10;
var searchtypeglobal = '';
var issecondzipcodesearch = 0;
var minelaanid; //= '<%= minelaanid %>';
var ajourid; //= '<%= ajourid %>';
var executingsavedsearch = 0;
var isexecutingsavedsearch = 0;
var sresultid = '';
var numberofpropertiesperpage = 9;
var pagenumber = 1;
var numberofshowpagesmax = 6;
var isfinishedsearch = 0;
var ismarkerwindopen = 0;
var isoldminelaansearch = 0;
var ispnsearch = 0;
var sitecatalystid = 'brfmitboligomraadeprod';
var pnsingle = 0;


function initialize() {

    setStartUpVariables();

    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';

    //alert('minelaanid:' + minelaanid);

    var txtpnautosearch = document.getElementById('txtpnautosearch');
    {
        //alert('txtpnautosearch.value:' + txtpnautosearch.value);

        if (txtpnautosearch.value == "1") {
            //ispnsearch = 1;
        }

        //alert('ispnsearch:' + ispnsearch);
    }

    //ver xx
    ControlStartUpMessage();
    
    ControlMap_StartUpMessage();

    if (GBrowserIsCompatible()) {
        zoomvalue = 6;
        var latlng = new GLatLng(56.0, 11.0);
        map = new GMap2(document.getElementById("dmap_canvas"));
        map.setCenter(latlng, zoomvalue);
        //map.setUIToDefault();
        var customUI = map.getDefaultUI();
        customUI.controls.scalecontrol = false;
        map.setUI(customUI);

        //Delete_Cookie('mbomissingstatisticsdatamsg','/', '');
        //GEvent.addListener(map, "zoomend", function(oldLevel, newLevel){document.getElementById('dzoom').value = "zoom" + newLevel;}); 

        GEvent.addListener(map, "zoomend", function(oldLevel, newLevel) { ControlZipCode(); });
        GEvent.addListener(map, "moveend", function() { ControlZipCode(); });
        GEvent.addListener(map, "infowindowclose", function() { PropertyWindowClose(); });
        GEvent.addListener(map, "click", function() { CloseMap_StartupMessage(); });
        GEvent.addListener(map, "move", function() { CloseMap_StartupMessage(); });
        GEvent.addListener(map, "zoom", function() { CloseMap_StartupMessage(); });


        /* first set of options is for the visual overlay.*/
        var boxStyleOpts = {

            opacity: 0.0,
            border: "1px dashed #000000"

        }


        /* second set of options is for everything else */
        var otherOpts = {
            buttonHTML: '<div style=\'height:5px\'></div><img src=\'Images/Ikon_vaelg_omraade.gif\' title=\'Zoom ved at trække en firkant\' alt=\'Zoom ved at trække en firkant\'  />',
            //old: buttonHTML: '<img src=\'Images/zoom-button.gif\' title=\'Zoom ved at trække en firkant\' alt=\'Zoom ved at trække en firkant\'  />',
            backButtonHTML: '<div style=\'height:5px\'></div><img src=\'Images/backbutton_new.gif\' title=\'Tilbage til forrige søgning\' alt=\'Tilbage til forrige søgning\' class=\'backbutton_new\' />',
            backButtonEnabled: false,
            buttonZoomingHTML: '<div style=\'height:5px\'></div><img src=\'Images/Ikon_flyt_kort.gif\' title=\'Træk kort/vis information - klik på bolig\' alt=\'Træk kort/vis information - klik på bolig\' />',
            //old: buttonZoomingHTML: '<img src=\'Images/hand.gif\' title=\'Træk kort/vis information - klik på bolig\' alt=\'Træk kort/vis information - klik på bolig\' />',
            buttonStartingStyle: { width: '24px', height: '24px' },
            overlayRemoveTime: 10,
            stickyZoomEnabled: false
        };

        /* third set of options specifies callbacks */
        /*
        var callbacks = {
        buttonclick: function(){GLog.write("Looks like you activated DragZoom!")},
        dragstart: function(){GLog.write("Started to Drag . . .")},
        dragging: function(x1,y1,x2,y2){GLog.write("Dragging, currently x="+x2+",y="+y2)},
        dragend: function(nw,ne,se,sw,nwpx,nepx,sepx,swpx){GLog.write("Zoom! NE="+ne+";SW="+sw)}
        };
        */

        var callbacks = {
            buttonclick: function() { CloseMap_StartupMessage(); }
        };

        dragzoomctl = new DragZoomControl(boxStyleOpts, otherOpts, callbacks);
        map.addControl(dragzoomctl);
        //dragzoomctl.initiateZoom();  

        //activate startupsearch
        var sargumentsspecial = '';
        sargumentsspecial += 'isstartupsearch' + sdataitemseparator + '1';
        sargumentsspecial += sdatacolumnseparator;
        sargumentsspecial += 'ismapsearch' + sdataitemseparator + '1';
        sargumentsspecial += sdatacolumnseparator;
        sargumentsspecial += 'isformsearch' + sdataitemseparator + '0';

        //Search(sargumentsspecial,'startupsearch');

        var dsavedsearch1 = document.getElementById('dsavedsearch1');
        var dsavedsearch2 = document.getElementById('dsavedsearch2');

        if (ajourid != '' && ajourid != '-1') {
            //alert('ajourid:' + ajourid);


            var txtsavedsearch1id = document.getElementById('txtsavedsearch1id');
            var savedsearch1id = txtsavedsearch1id.value;

            if (dsavedsearch1.innerHTML != '' && savedsearch1id != '') {

                ExecuteSavedSearch(savedsearch1id);
            }
            else {
                var pnr = '';
                var type = '';

                var ajourzipcode = '';
                var ajourpropertytype = '';

                //if  (Request.QueryString('pnr') != '' && Request.QueryString('type') != '')

                var txtajourzipcode = document.getElementById('txtajourzipcode');
                var txtajourpropertytype = document.getElementById('txtajourpropertytype');

                ajourzipcode = txtajourzipcode.value;
                ajourpropertytype = txtajourpropertytype.value;

                if (ajourzipcode != '' && ajourpropertytype != '') {
                    //pnr = Request.QueryString('pnr');
                    //type = Request.QueryString('type');

                    //alert('ajourzipcode:' + ajourzipcode + '-ajourpropertytype:' + ajourpropertytype);
                    var ajourpropertytypeid = -1;

                    if (trim(ajourpropertytype) == 'villa')
                        ajourpropertytypeid = 1;
                    if (trim(ajourpropertytype) == 'lejlighed')
                        ajourpropertytypeid = 2;
                    if (trim(ajourpropertytype) == 'fritidshus')
                        ajourpropertytypeid = 3;

                    if (ajourpropertytypeid != -1) {
                        var cboPropertyType = document.getElementById('cboPropertyType');
                        var txtZipCode = document.getElementById('txtZipCode');
                        cboPropertyType.value = ajourpropertytypeid;
                        txtZipCode.value = ajourzipcode;
                        FormSearch();
                    }
                }
            }
            //end: if (dsavedsearch1.innerHTML == '')
        }
        //end: if (ajourid != '' && ajourid != '-1')
        //CheckPNSearch();
    }

    //surveyfunctionality
    var txtajoursurveylink = document.getElementById('txtajoursurveylink');

    if (txtajoursurveylink.value != '') {
        //setTimeout('OpenAjourSurvey()', 120000);
    }
    //end: surveyfunctionality

    //check if savedsearches control text
    var savedsearchesinfotext = 'Gem din søgning og få automatisk oplysninger om dit område hver gang.';
    var spsavedsearchesinfotext = document.getElementById('spsavedsearchesinfotext');
    var trsavedsearches = document.getElementById('trsavedsearches');
    var trsavedsearchesnone = document.getElementById('trsavedsearchesnone');


    if ((dsavedsearch1.innerHTML == '') && (dsavedsearch2.innerHTML == '')) {

        spsavedsearchesinfotext.innerHTML = savedsearchesinfotext;
        trsavedsearchesnone.style.display = '';
        trsavedsearches.style.display = 'none';
    }
    else {

        trsavedsearchesnone.style.display = 'none';
        trsavedsearches.style.display = '';

    }

}

function OpenAjourSurvey() {
    var txtajoursurveylink = document.getElementById('txtajoursurveylink');
    var dajoursurvey = document.getElementById('dajoursurvey');
    var iframeajoursurvey = document.getElementById('iframeajoursurvey');
    var sajoursurveylink = txtajoursurveylink.value;

    //sajoursurveylink = 'SurveyTest.htm';

    dajoursurvey.style.display = '';
    iframeajoursurvey.src = sajoursurveylink;

}

function PropertyWindowClose() {
    ismarkerwindopen = 0;
}

function ControlZipCode() {

    var txtZipCode = document.getElementById('txtZipCode');
    //alert('isautozooming: ' + isautozooming + '-iszipcodesearch:' + iszipcodesearch + '-issecondzipcodesearch:' + issecondzipcodesearch);

    var dmap_moved = document.getElementById('dmap_moved');

    if (iszipcodesearch == 1) {
        if (isautozooming == 0 && issecondzipcodesearch == 0) {


            txtZipCode.value = '';

            var azipcodedetail = new Array();
            azipcodedetail[0] = '';
            azipcodedetail[1] = '';
            azipcode[azipcode.length] = azipcodedetail;

            if (isfinishedsearch == 1) {
                if (ismarkerwindopen == 0)
                    dmap_moved.style.display = '';
            }
        }

    }
    else {

        //alert('ismarkerwindopen:' + ismarkerwindopen);
        if (isfinishedsearch == 1) {
            if (ismarkerwindopen == 0)
                dmap_moved.style.display = '';
        }

        if (isfinishedsearch == 0) {

            txtZipCode.value = '';           
        }
    }
}

function ControlStartUpMessage() {
    //Delete_Cookie('mbostartupmsg','/', '');
    var dstartupmessage = document.getElementById('dstartupmessage');
    var dstartupmessage_minelaan = document.getElementById('dstartupmessage_minelaan');
    var cookiestartup;

    /*
    cookiestartup = Get_Cookie('mbostartupmsg');

			if (cookiestartup == null) {
    if (isoldminelaansearch == 1)
    dstartupmessage_minelaan.style.display = '';
    else
    dstartupmessage.style.display = '';
    }
    else {

				if (cookiestartup == 'show') {
    if (isoldminelaansearch == 1)
    dstartupmessage_minelaan.style.display = '';
    else
    dstartupmessage.style.display = '';
    }

				Set_Cookie('mbostartupmsg', cookiestartup, 30, '/', '', '');
    }
    */
}

function SaveStartUpMessageCookie() {
    var dstartupmessage = document.getElementById('dstartupmessage');
    var dstartupmessage_minelaan = document.getElementById('dstartupmessage_minelaan');
    var chkstartupmessage = document.getElementById('chkstartupmessage');

    var value = '';
    if (chkstartupmessage.checked)
        value = 'hide';
    else
        value = 'show';
    Set_Cookie('mbostartupmsg', value, 30, '/', '', '');

    dstartupmessage.style.display = 'none';
    dstartupmessage_minelaan.style.display = 'none';
}

function ControlMissingStatisticsDataMessage() {


    var dmissingstatisticsdatamessage = document.getElementById('dmissingstatisticsdatamessage');
    var cookiemissingstatisticsdata;

    cookiemissingstatisticsdata = Get_Cookie('mbomissingstatisticsdatamsg');

    if (cookiemissingstatisticsdata == null) {
        dmissingstatisticsdatamessage.style.display = '';
    }
    else {

        if (cookiemissingstatisticsdata == 'show') {
            dmissingstatisticsdatamessage.style.display = '';
        }

        Set_Cookie('mbomissingstatisticsdatamsg', cookiemissingstatisticsdata, 30, '/', '', '');
    }
}

function SaveMissingStatisticsDataCookie() {
    var dmissingstatisticsdatamessage = document.getElementById('dmissingstatisticsdatamessage');
    var chkmissingstatisticsdatamessage = document.getElementById('chkmissingstatisticsdatamessage');

    var value = '';
    if (chkmissingstatisticsdatamessage.checked)
        value = 'hide';
    else
        value = 'show';
    Set_Cookie('mbomissingstatisticsdatamsg', value, 30, '/', '', '');

    dmissingstatisticsdatamessage.style.display = 'none';
}

//test function
function addMarkersToMap() {
    // Add 10 markers to the map at random locations
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var lngSpan = northEast.lng() - southWest.lng();
    var latSpan = northEast.lat() - southWest.lat();
    for (var i = 0; i < 10; i++) {
        var latitude = southWest.lat() + latSpan * Math.random();
        var longitude = southWest.lng() + lngSpan * Math.random();

        var point = new GLatLng(southWest.lat() + latSpan * Math.random(), southWest.lng() + lngSpan * Math.random());
        //map.addOverlay(new GMarker(point));

        dshowreturnedvalues.innerHTML += '<br/>' + "latitudeauto:" + latitude + "; longitudeauto:" + longitude;
    }

}

function MapSearch() {
    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';

    var sargumentsspecial = '';
    sargumentsspecial += 'isstartupsearch' + sdataitemseparator + '0';
    sargumentsspecial += sdatacolumnseparator;
    sargumentsspecial += 'ismapsearch' + sdataitemseparator + '1';
    sargumentsspecial += sdatacolumnseparator;
    sargumentsspecial += 'isformsearch' + sdataitemseparator + '0';

    Search(sargumentsspecial, 'mapsearch');
}


//IE marks the whole page as selected without this function
function removeSelection() {

    if (document.selection) {

        var txtdeselect = document.getElementById('txtdeselect');
        txtdeselect.focus();
    }
}

function ClearMapMarkers() {
    map.clearOverlays();
}

function ShowPropertiesDataMain(datastring) {

    //alert('ShowPropertiesDataMain - datastring: ' + datastring);

    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';

    //var dshowtestvaluescontent = document.getElementById('dshowtestvaluescontent');

    var daskingprice = document.getElementById('daskingprice');
    var daskingpricechange = document.getElementById('daskingpricechange');
    var daskingpricechangepic = document.getElementById('daskingpricechangepic');
    var dsalesperiod = document.getElementById('dsalesperiod');
    var dsalesperiodchange = document.getElementById('dsalesperiodchange');
    var dsalesperiodchangepic = document.getElementById('dsalesperiodchangepic');
    var dnumberofproperties = document.getElementById('dnumberofproperties');
    var dnumberofpropertieschange = document.getElementById('dnumberofpropertieschange');
    var dnumberofpropertieschangepic = document.getElementById('dnumberofpropertieschangepic');

    var scountlessthanminmsg = '';

    //rowformat
    //  countofproperties/offerpricestotal/offerpricescount/offerpricesaverage/sofferpricesaverage (formatted with thousandseparator)
    //  /salesperiodtotal/salesperiodcount/salesperiodaverage/ssalesperiodaverage (formatted with thousandseparator)/resultid      
    var sdatarow = datastring;
    var adatarow = sdatarow.split(sdatacolumnseparator);

    if (parseInt(adatarow[0], 10) > 0) {
        if ((parseInt(adatarow[0], 10) < 10) || (parseInt(adatarow[2], 10) < 10) || (parseInt(adatarow[6], 10) < 10)) {
            scountlessthanminmsg = '<span class="spmessage"> (Statistik for mindre end 10 boliger)</span>';
        }
    }
    else {
        scountlessthanminmsg = '<span class="spmessage"> (Ingen boliger til salg i søgning)</span>';
    }

    dnumberofproperties.innerHTML = adatarow[0];

    if (parseInt(adatarow[2], 10) > 0)
        daskingprice.innerHTML = adatarow[4];
    else
        daskingprice.innerHTML = '';

    if (parseInt(adatarow[6], 10) > 0)
        dsalesperiod.innerHTML = adatarow[8];
    else
        dsalesperiod.innerHTML = '';

    //alert('ShowPropertiesDataMain - datastring: ' + datastring); 

    var dpropertiesforsaletext = document.getElementById('dpropertiesforsaletext');
    var cboPropertyType = document.getElementById('cboPropertyType');
    var txtZipCode = document.getElementById('txtZipCode');

    var searchcriteriamainstatistics = '';

    switch (cboPropertyType.selectedIndex) {
        case 1:
            searchcriteriamainstatistics = 'Villa/rækkehuse';
            break;
        case 2:
            searchcriteriamainstatistics = 'Ejerlejligheder';
            break;
        case 3:
            searchcriteriamainstatistics = 'Fritidshuse';
            break;
    }

    var szipcode = txtZipCode.value;
    szipcode = trim(szipcode);
    if (szipcode != '') {
        if (validateInteger(szipcode)) {
            if (szipcode.length == 4) {
                searchcriteriamainstatistics += ' i ' + szipcode;
            }
        }
    }

    if (scountlessthanminmsg != '')
        searchcriteriamainstatistics += scountlessthanminmsg;

    dpropertiesforsaletext.innerHTML = searchcriteriamainstatistics;


}

function ShowResultsOnMap(datastring) {
    var dtmap1 = new Date();

    //var dshowtestvaluescontent = document.getElementById('dshowtestvaluescontent');

    var objectmarkerOptions1;
    var newIcon1;

    //alert('ShowResultsOnMap');

    // Create our "tiny" markericon
    newIcon1 = new GIcon(G_DEFAULT_ICON);
    newIcon1.image = "Images/newicon1.png";
    newIcon1.iconSize = new GSize(19, 19);
    newIcon1.iconAnchor = new GPoint(14, 9);
    newIcon1.infoWindowAnchor = new GPoint(0, 0);
    newIcon1.shadow = "";
    newIcon1.shadowSize = new GSize(0, 0);
    newIcon1.printImage = "Images/newicon_gif.gif"; ;
    // Set up our GMarkerOptions 
    objectmarkerOptions1 = { icon: newIcon1 };


    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';

    var _spropertyimageurl_piclarge = 'http://pic.boligsiden.dk/property/large/1/';
    var _spropertyimageurl_picsmall = 'http://pic.boligsiden.dk/property/small/1/';

    var sdatastring = '';

    sdatastring = datastring;
    //dshowtestvaluescontent.innerHTML += '<br/>' + 'sdatastring before cut:' + '<br/>' + sdatastring;

    var sdatastringlength = sdatastring.length;
    //remove wrapper chars
    sdatastring = sdatastring.substring(3, sdatastringlength - 1);
    //dshowtestvaluescontent.innerHTML += '<br/>' + 'sdatastring after cut:' + '<br/>' + sdatastring;

    var adatarows = sdatastring.split(sdatarowseparator);

    var latitudezipcode = 0;
    var longitudezipcode = 0;
    var setzoomlevelzipcode = 0

    //alert('ShowResultsOnMap - executingsavedsearch: ' + executingsavedsearch)

    if (executingsavedsearch == 0) {
        //alert('ShowResultsOnMap - iszipcodesearch: ' + iszipcodesearch + '- sdatastring.length:' + sdatastring.length)

        if ((iszipcodesearch) && (sdatastring != '')) {

            if (azipcode.length > 0) {
                //if first zipcodesearch  
                if (azipcode.length == 1) {
                    //alert('azipcode.length == 1 - azipcode[0]:' + azipcode[0])

                    setzoomlevelzipcode = 1;
                }
                else {
                    //if different from last zipcodesearch
                    //alert('azipcode[azipcode.length-1]:' + azipcode[azipcode.length-1] + '-azipcode[azipcode.length-2]:' + azipcode[azipcode.length-2]);
                    if (azipcode[azipcode.length - 1][0] != azipcode[azipcode.length - 2][0] || ((azipcode[azipcode.length - 1][0] == azipcode[azipcode.length - 2][0]) && (azipcode[azipcode.length - 1][1] != azipcode[azipcode.length - 2][1]))) {
                        setzoomlevelzipcode = 1;
                        //alert('setzoomlevelzipcode:' + setzoomlevelzipcode);
                    }
                }
            }
        }
    }
    //end: if (executingsavedsearch == 0)
    var quit = 0;

    var adatarowmaininfo = adatarows[0];
    var sdatarowmain = adatarowmaininfo;
    var adatarowmain = sdatarowmain.split(sdatacolumnseparator);
    var searchresultid = adatarowmain[9];
    var minx1;
    var maxx1;
    var miny1;
    var maxy1;
    var centerx1;
    var centery1;

    minx1 = parseFloat(adatarowmain[10]);
    maxx1 = parseFloat(adatarowmain[11]);
    miny1 = parseFloat(adatarowmain[12]);
    maxy1 = parseFloat(adatarowmain[13]);
    centerx1 = parseFloat(adatarowmain[14]);
    centery1 = parseFloat(adatarowmain[15]);

    sresultid = searchresultid;

    //alert('searchresultid: ' + searchresultid);

    //var dnumberofproperties = document.getElementById('dnumberofproperties');    
    //dnumberofproperties.innerHTML = adatarow[0];
    if (setzoomlevelzipcode == 0) {
        ShowPropertiesDataMain(adatarowmaininfo);
    }
    //var dsalesperiod = document.getElementById('dsalesperiod');    
    //dsalesperiod.innerHTML = adatarow[1];

    //var daskingprice = document.getElementById('daskingprice');    
    //daskingprice.innerHTML = adatarow[2];
    //sinfo = adatarow[3];

    var adatarowslen = adatarows.length;
    if (setzoomlevelzipcode == 1) {
        //get the zipcodedata and break
        for (var i = 1; i < adatarowslen; i++) {
            var sdatarow = adatarows[i];
            var adatarow = sdatarow.split(sdatacolumnseparator);

            var latitude = '';
            var longitude = '';

            latitude = adatarow[0];
            longitude = adatarow[1];

            if (latitudezipcode == 0 || longitudezipcode == 0) {
                if (latitude > 0 && longitude > 0) {
                    latitudezipcode = latitude;
                    longitudezipcode = longitude;
                    break;
                }
            }
        }

    }

    //var sinfotable = GoogleMarkerTable();

    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var minx = southWest.lng();
    var maxx = northEast.lng();
    var miny = southWest.lat();
    var maxy = northEast.lat();

    //alert('old bounds - minx:' + minx + '-maxx:' + maxx + '-miny:' + miny + '-maxy:' + maxy); 

    var ctr;
    var lng;
    var lat;
    ctr = map.getCenter();
    lng = ctr.lng();
    lat = ctr.lat();
    var centerx = lng;
    var centery = lat;

    if (setzoomlevelzipcode == 0) {
        var adatarowslen = adatarows.length;
        for (var i = 1; i < adatarowslen; i++) {

            var sdatarow = adatarows[i];
            var adatarow = sdatarow.split(sdatacolumnseparator);

            var sinfo = '';
            //sinfo = sinfotable;
            var isej = 0;
            var spropertyimagesmall = '';
            var latitude = '';
            var longitude = '';
            var longitude = '';
            var pointinfoy;
            var pointinfox;
            var count = 0;

            latitude = parseFloat(adatarow[0]);
            longitude = parseFloat(adatarow[1]);
            pointinfoy = parseInt(adatarow[2]);
            pointinfox = parseInt(adatarow[3]);
            count = parseInt(adatarow[4]);

            /* code used when all properties are shown with markers
                    
            var sdataitem5 = adatarow[5];
            var sdataitem12 = adatarow[12];
            var sdataitem13 = adatarow[13];
                  
            sinfo = sinfo.replace('[StreetName]',adatarow[2]); 
            sinfo = sinfo.replace('[PostalId]',trim(adatarow[3])); 
            sinfo = sinfo.replace('[City]',adatarow[4]); 
            sinfo = sinfo.replace('[ItemType]',sdataitem5); 
            if (sdataitem5 == 'Ejerlejlighed')
            isej = 1;
            sinfo = sinfo.replace('[NumberOfRooms]',adatarow[6]); 
            sinfo = sinfo.replace('[AreaResidential]',adatarow[7]); 
            sinfo = sinfo.replace('[PaymentCash]',adatarow[8]); 
            if (!isej)
            sinfo = sinfo.replace('[AreaParcel]',adatarow[9]); 
            else
            sinfo = sinfo.replace('<tr><td>Grund: [AreaParcel] m&sup2;</td></tr>','');         
            sinfo = sinfo.replace('[YearBuild]',adatarow[10]); 
            sinfo = sinfo.replace('[SalesPeriod]',adatarow[11]); 
            if (sdataitem12 != '')
            sinfo = sinfo.replace('[PropertyLink]',sdataitem12);
            else
            sinfo = sinfo.replace('[PropertyLink]','#');     
            if (sdataitem13 != '')
            {
            spropertyimagesmall = PropertyImageUrlSmall(sdataitem13);
            sinfo = sinfo.replace('[PictureUrl]', spropertyimagesmall);
            //quit = 1;
            }
            else
            sinfo = sinfo.replace('[PictureUrl]','');     
            */


            var point = new GLatLng(latitude, longitude);
            var marker = new GMarker(point, objectmarkerOptions1)
            AddToMap(marker, pointinfox, pointinfoy, count, searchresultid, minx, maxx, miny, maxy, centerx, centery);

        }
        //end: for (var i=0; i<adatarows.length; i++)
    }
    //end: if (setzoomlevelzipcode == 0)


    if (setzoomlevelzipcode) {
        isautozooming = 1;
        issecondzipcodesearch = 1;

        //alert('minx1:' + minx1 + '-maxx1:' + maxx1 + '-miny1:' + miny1 + '-maxy1:' + maxy1);

        var sw = new GLatLng(miny1, minx1);
        var ne = new GLatLng(maxy1, maxx1);
        var boundsnew = new GLatLngBounds(sw, ne);

        //var z = map.getBoundsZoomLevel(boundsnew);

        //alert('zoom:' + z);

        // Center map in the center of the bounding box   
        // and calculate the appropriate zoom level   
        map.setCenter(boundsnew.getCenter(), map.getBoundsZoomLevel(boundsnew));

        //var minx = southWest.lng();
        //var maxx = northEast.lng();
        //var miny = southWest.lat();
        //var maxy = northEast.lat();

        //alert('ShowResultsOnMap - before  map.setCenter(latlng, zoomlevelzipcode):' + isautozooming);
        //new GLatLng(latitudezipcode, longitudezipcode);   
        //var latlng = new GLatLng(latitudezipcode, longitudezipcode);
        //alert(zoomlevelzipcode);
        //map.setCenter(latlng, zoomlevelzipcode); 
        //dragzoomctl.saveBackContext_("<img src='Images/zoom-button.gif' alt='Vælg område - tegn firkant med venstre museknap nede'  />", true);
        isautozooming = 0;
        //alert('ShowResultsOnMap - after  map.setCenter(latlng, zoomlevelzipcode):' + isautozooming);   
    }
    else {
        isautozooming = 0;
    }

    //alert('ShowResultsOnMap - isautozooming:' + isautozooming);

    if (executingsavedsearch == 1) {
        executingsavedsearch = 0;
        //alert('executingsavedsearch:' + executingsavedsearch);
    }
    /*
    //  test of converted values from UTM
    isautozooming = 1;
    var latlng = new GLatLng(57.363, 9.946);
    var latitude = 57.363;
    var longitude = 9.946;
    map.setCenter(latlng, 10);    
    addMarkerToMap(latitude, longitude);
    */
    var dtmap2 = new Date();

    var mapdiff = DateDiff(dtmap1, dtmap2);
    var getalldiff = DateDiff(dateBeforeGetChartsAndProperties, dtmap2);

    if (issecondzipcodesearch == 1) {
        FormSearch();
    }
    else {

        var lnkshowlist = document.getElementById('lnkshowlist');
        var lnkshowmap = document.getElementById('lnkshowmap');
        var dmap_showpropertylist = document.getElementById('dmap_showpropertylist');

        lnkshowlist.style.display = "";
        dmap_showpropertylist.style.display = "";
        lnkshowmap.style.display = "none";
    }

    //alert(dateBeforeGetChartsAndProperties + ' ' + dateGetPropertyResult1 + ' ' + dateGetPropertyResult2 + ' ' + dtmap1 + ' ' + dtmap2 + ' ' + mapdiff); 
    //alert('dateBeforeGetChartsAndProperties:' +  dateBeforeGetChartsAndProperties + ' - dtmapfinished:' + dtmap2 + ' - time in ms:' + getalldiff); 
    //var dshowtestvaluescontent = document.getElementById('dshowtestvaluescontent');
    //dshowtestvaluescontent.innerHTML = '<br/>' + 'showmap - mapdiff:' + mapdiff.toString();
    //dshowtestvaluescontent.innerHTML += '<br/>' + 'show all - getalldiff:' + getalldiff.toString(); 
    //dshowtestvaluescontent.innerHTML += '<br/>' + 'timestart:' + dateBeforeGetChartsAndProperties + ' - before get propertydata:' + dateGetPropertyResult1 + ' - before get propertydata:' + dateGetPropertyResult2 + ' - before map:' + dtmap1 + '-after map:' + dtmap2 + ' -show map im ms: ' + mapdiff + '- time in ms:' + getalldiff
}

function AddToMap(marker, pointinfox, pointinfoy, count, searchresultid, minx, maxx, miny, maxy, centerx, centery) {
    //alert('hep');
    //GEvent.addListener(marker, "click", function() {OpenMarkerWindow();});
    GEvent.addListener(marker, "click", function() { OpenMarkerWindow(marker, pointinfox, pointinfoy, count, searchresultid, minx, maxx, miny, maxy, centerx, centery); });
    map.addOverlay(marker);
}

var markercurrent;
function OpenMarkerWindow(marker, pointinfox, pointinfoy, count, searchresultid, minx, maxx, miny, maxy, centerx, centery) {
    markercurrent = marker;
    var sinfo = 'pointinfox: ' + pointinfox + '-pointinfoy:' + pointinfoy + '-count' + count + '-searchresultid';

    ismarkerwindopen = 1;

    SCCustomLinkTracking('event8', 'Klik på bolig', 'event8');

    marker.openInfoWindowHtml();
    GetMarkerInfoWindowHtmlData(pointinfox, pointinfoy, count, searchresultid, 1, minx, maxx, miny, maxy, centerx, centery, '');
}

function GoogleMarkerTable(pointinfox, pointinfoy, count, searchresultid, number, minx, maxx, miny, maxy, centerx, centery) {
    var numberprevious;
    var numbernext;

    var sbasicparameters1 = pointinfox + ',' + pointinfoy + ',' + count + ',\'' + searchresultid + '\'';
    var sbasicparameters2 = minx + ',' + maxx + ',' + miny + ',' + maxy + ',' + centerx + ',' + centery;
    var numberprevious = 0;
    var numbernext = 0;

    numberprevious = (parseInt(number)) - 1;
    numbernext = (parseInt(number)) + 1;

    var sgetpropertypreviousspace = '<div class=\'dnavpropertyleft\'>&nbsp;</div>'
    var sgetpropertypreviouslink = '<div class=\'dnavpropertyleft\'><a href="javascript:GetMarkerInfoWindowHtmlData(' + sbasicparameters1 + ',' + numberprevious + ',' + sbasicparameters2 + ',\'previous\');">&#171;&nbsp;Se&nbsp;forrige</a></div>';
    var sgetpropertynextlink = '<div class=\'dnavpropertyright\'><a href="javascript:GetMarkerInfoWindowHtmlData(' + sbasicparameters1 + ',' + numbernext + ',' + sbasicparameters2 + ',\'next\');">Se&nbsp;næste&nbsp;&#187;</a></div>';
    var sgetproperties = '';

    var spropertiesprevious = '&nbsp;';
    var spropertiescount = '';
    var spropertiesnext = '&nbsp;';

    if (number > 1) {
        spropertiesprevious = sgetpropertypreviouslink;
        //sgetproperties += sgetpropertypreviouslink;
        //sgetproperties += '<div class=\'dnavpropertymiddle\'>' + number + "/" + count + '</div>';    

    }
    else {
        //sgetproperties += sgetpropertypreviousspace;
        //sgetproperties += '<div class=\'dnavpropertymiddle_noleft\'>' + number + "/" + count + '</div>';     
    }

    spropertiescount = number + "/" + count;

    if (number < count) {
        //sgetproperties += sgetpropertynextlink; 
        spropertiesnext = sgetpropertynextlink;
    }


    //sgetproperties += '<br/>';

    var stable = '';

    stable = '<table border="0" cellpadding="0" cellspacing="0" class="GoogleMarkerTable">' +
             '<tr valign="top"> ' +
             '   <td colspan="2" class="GoogleMarkerHeader">[StreetName]</td>' +
             '   <td colspan="2" class="GoogleMarkerSpace">&nbsp;</td>' +
             '</tr>' +
             '<tr valign="top">' +
             '   <td class="GoogleMarkerPicture">[PictureUrl]</td>' +
             '   <td valign="top"  class="GoogleMarkerFacts">' +
             '      <table border="0" cellpadding="0" cellspacing="0">' +
             '          <tr>' +
             '              <td>' +
             '                  [PostalId] [City]' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                  [ItemType], [NumberOfRooms] v&aelig;relser, [AreaResidential] m&sup2;' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                  Pris: [PaymentCash]' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                  &nbsp;' +
             '              </td>' +
             '          </tr>' +
             '          <tr><td>Grund: [AreaParcel] m&sup2;</td></tr>' +
             '          <tr>' +
             '              <td>' +
             '                  Bygge&aring;r: [YearBuild]' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                  Liggetid: [SalesPeriod] dage' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                   <a href="[PropertyLink]" target="_blank">Se mere om boligen</a><br />' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>&nbsp;</td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td></td>' +
             '          </tr>' +
             '      </table>' +
             '    </td>' +
             '    <td class="GoogleMarkerSpace">&nbsp;</td>' +
             '</tr>' +
             '<tr valign="middle"> ' +
             '   <td colspan="2" class="GoogleMarkerFooter">' +
             '      <table border="0" cellpadding="0" cellspacing="0">' +
             '          <tr valign="top">' +
             '              <td class="GoogleMarkerNavigationLabel">Flere boliger her:</td>' +
             '              <td valign="top"  class="GoogleMarkerNavigation">' +
             '                  <table border="0" width="100%"  cellpadding="0" cellspacing="0">' +
             '                      <tr valign="middle">' +
             '                          <td class="tdpropertiesprevious">' + spropertiesprevious + '</td>' +
             '                          <td class="tdpropertiescount">' + spropertiescount + '</td>' +
             '                          <td class="tdpropertiesnext">' + spropertiesnext + '</td>' +
             '                      </tr>' +
             '                  </table>' +
             '               </td>' +
             '          </tr>' +
             '      </table>' +
             '   </td>' +
             '   <td colspan="2" class="GoogleMarkerSpace">&nbsp;</td>' +
             '</tr>' +
            '</table>';
    //alert(stable);          

    return stable;
}

function GoogleMarkerTable2(number) {
    var stable = '';

    stable = '<table border="0" cellpadding="0" cellspacing="0" class="GoogleMarkerTable">' +
             '<tr valign="top"> ' +
             '   <td colspan="2" class="GoogleMarkerHeader">[StreetName]</td>' +
             '   <td class="GoogleMarkerSpace">&nbsp;</td>' +
             '</tr>' +
             '<tr valign="top">' +
             '   <td class="GoogleMarkerPicture">[PictureUrl]</td>' +
             '   <td valign="top"  class="GoogleMarkerFacts">' +
             '      <table border="0" cellpadding="0" cellspacing="0">' +
             '          <tr>' +
             '              <td>' +
             '                  [PostalId] [City]' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                  [ItemType], [NumberOfRooms] v&aelig;relser, [AreaResidential] m&sup2;' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                  Pris: [PaymentCash]' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                  &nbsp;' +
             '              </td>' +
             '          </tr>' +
             '          <tr><td>Grund: [AreaParcel] m&sup2;</td></tr>' +
             '          <tr>' +
             '              <td>' +
             '                  Bygge&aring;r: [YearBuild]' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                  Liggetid: [SalesPeriod] dage' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                   <a href="[PropertyLink]" target="_blank">Se mere om boligen</a><br />' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                   <a href="javascript:GetMarkerWindowHTML();">Se næste</a><br />' +
             '              </td>' +
             '          </tr>' +
             '      </table>' +
             '    </td>' +
             '    <td class="GoogleMarkerSpace">&nbsp;</td>' +
             '</tr>' +
            '</table>';
    return stable;
}

function PropertyTable() {

    var stable = '';

    stable = '<table border="0" cellpadding="0" cellspacing="0" class="PropertyTable">' +
             '<tr valign="top"> ' +
             '   <td colspan="2" class="PropertyHeader">[StreetName]</td>' +
             '   <td class="PropertySpace">&nbsp;</td>' +
             '</tr>' +
             '<tr valign="top">' +
             '   <td class="PropertyPicture">[PictureUrl]</td>' +
             '   <td valign="top"  class="PropertyFacts">' +
             '      <table border="0" cellpadding="0" cellspacing="0">' +
             '          <tr>' +
             '              <td>' +
             '                  [PostalId] [City]' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                  [ItemType], [NumberOfRooms] v&aelig;relser, [AreaResidential] m&sup2;' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                  Pris: [PaymentCash]' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                  &nbsp;' +
             '              </td>' +
             '          </tr>' +
             '          <tr><td>Grund: [AreaParcel] m&sup2;</td></tr>' +
             '          <tr>' +
             '              <td>' +
             '                  Bygge&aring;r: [YearBuild]' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                  Liggetid: [SalesPeriod] dage' +
             '              </td>' +
             '          </tr>' +
             '          <tr>' +
             '              <td>' +
             '                   <a href="[PropertyLink]" target="_blank">Se mere om boligen</a><br />' +
             '              </td>' +
             '          </tr>' +
             '      </table>' +
             '    </td>' +
             '    <td class="PropertySpace">&nbsp;</td>' +
             '</tr>' +
            '</table>';
    return stable;
}

function PropertyImageUrlSmall(simage) {
    var _spropertyimageurl_piclarge = 'http://pic.boligsiden.dk/property/large/1/';
    var _spropertyimageurl_picsmall = 'http://pic.boligsiden.dk/property/100x80/1/';
    var simageurl = '';
    simageurl = _spropertyimageurl_picsmall + simage;
    var simage = '';

    simage = '<img src=\'' + simageurl + '\'  />';

    return simage;
}


function GetMarkerInfoWindowHtmlData(pointinfox, pointinfoy, count, searchresultid, number, minx, maxx, miny, maxy, centerx, centery, direction) {

    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';



    /* create string containing search arguments  */
    var sarguments = '';

    sarguments += sdatastringstart;
    //add mapinfo
    sarguments += minx;
    sarguments += sdatacolumnseparator;
    sarguments += maxx;
    sarguments += sdatacolumnseparator;
    sarguments += miny;
    sarguments += sdatacolumnseparator;
    sarguments += maxy;
    sarguments += sdatacolumnseparator;
    sarguments += centerx;
    sarguments += sdatacolumnseparator;
    sarguments += centery;
    sarguments += sdatacolumnseparator;
    //add pointinfo
    sarguments += pointinfox;
    sarguments += sdatacolumnseparator;
    sarguments += pointinfoy;
    sarguments += sdatacolumnseparator;
    sarguments += searchresultid;
    sarguments += sdatacolumnseparator;
    sarguments += number;
    sarguments += sdatacolumnseparator;
    sarguments += count;
    sarguments += sdatastringend;

    if (direction != '') {
        if (direction == 'previous') {
            SCCustomLinkTracking('event9', 'Se forrige bolig', 'event9');
        }
        if (direction == 'next') {
            SCCustomLinkTracking('event10', 'Se næste bolig', 'event10');
        }
    }

    PageMethods.GetMarkerPointDataResult(sarguments, OnSucceededGetMarkerInfoWindowHtmlData);

}

function OnSucceededGetMarkerInfoWindowHtmlData(result, userContext, methodName) {

    //dshowtestvaluescontent.innerHTML = '<br/>' + result; 

    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';

    var sdatarow = result;
    var sdatarowlength = sdatarow.length;
    sdatarow = sdatarow.substring(1, sdatarowlength - 1);

    //dshowtestvaluescontent.innerHTML += '<br/>' + sdatarow; 

    var adatarow = sdatarow.split(sdatacolumnseparator);

    var sinfo = '';
    //sinfo = sinfotable;

    var minx;
    var maxx;
    var miny;
    var maxy;
    var centerx;
    var centery;
    var pointinfox;
    var pointinfoy;
    var searchresultid;
    var number;
    var count;

    var isej = 0;
    var spropertyimagesmall = '';
    var latitude = '';
    var longitude = '';

    minx = parseFloat(adatarow[0])
    maxx = parseFloat(adatarow[1]);
    miny = parseFloat(adatarow[2]);
    maxy = parseFloat(adatarow[3]);
    centerx = parseFloat(adatarow[4]);
    centery = parseFloat(adatarow[5]);
    pointinfox = parseInt(adatarow[6]);
    pointinfoy = parseInt(adatarow[7]);
    searchresultid = adatarow[8];
    number = parseInt(adatarow[9]);
    count = parseInt(adatarow[10]);

    if (adatarow[11]) {
        latitude = parseFloat(adatarow[11]);
        longitude = parseFloat(adatarow[12]);

        //alert(adatarow[11] + ':\n' + latitude + '\n' + adatarow[12] + ':\n' + longitude);

        var sdataitem16 = adatarow[16];
        var sdataitem23 = adatarow[23];
        var sdataitem24 = adatarow[24];

        sinfo = GoogleMarkerTable(pointinfox, pointinfoy, count, searchresultid, number, minx, maxx, miny, maxy, centerx, centery);

        sinfo = sinfo.replace('[StreetName]', adatarow[13]);
        sinfo = sinfo.replace('[PostalId]', trim(adatarow[14]));
        sinfo = sinfo.replace('[City]', adatarow[15]);
        sinfo = sinfo.replace('[ItemType]', sdataitem16);
        if (sdataitem16 == 'Ejerlejlighed')
            isej = 1;
        sinfo = sinfo.replace('[NumberOfRooms]', adatarow[17]);
        sinfo = sinfo.replace('[AreaResidential]', adatarow[18]);
        sinfo = sinfo.replace('[PaymentCash]', adatarow[19]);
        if (!isej)
            sinfo = sinfo.replace('[AreaParcel]', adatarow[20]);
        else
            sinfo = sinfo.replace('<tr><td>Grund: [AreaParcel] m&sup2;</td></tr>', '');
        sinfo = sinfo.replace('[YearBuild]', adatarow[21]);
        sinfo = sinfo.replace('[SalesPeriod]', adatarow[22]);
        if (sdataitem23 != '')
            sinfo = sinfo.replace('[PropertyLink]', sdataitem23);
        else
            sinfo = sinfo.replace('[PropertyLink]', '#');
        if (sdataitem24 != '') {
            spropertyimagesmall = PropertyImageUrlSmall(sdataitem24);
            sinfo = sinfo.replace('[PictureUrl]', spropertyimagesmall);
            //quit = 1;
        }
        else
            sinfo = sinfo.replace('[PictureUrl]', '');

        //var shtml =  GoogleMarkerTable(pointinfox, pointinfoy, count, searchresultid, number);
        var tab = new GInfoWindowTab('Tab 1', sinfo);
        var tabs = [tab];
        map.updateInfoWindow(tabs);
    }
}

var iszipcodesearch = 0;
var isautozooming = 0;
var azipcode = new Array();

//xSearch
var dateBeforeGetChartsAndProperties;
function Search(sargumentsspecial, searchtype) {
    //alert('Search called - searchtype:' + searchtype + '-isautozooming:' + isautozooming + '-savedsearchsetmapcenter:' + savedsearchsetmapcenter);
    SaveSearchHideElements();
    SignUpToAjourHideElements();

    CloseMap_StartupMessage();


    if (savedsearchsetmapcenter == 0) {
        var dmap_progress = document.getElementById('dmap_progress');

        if (searchtype != 'startupsearch') {
            dmap_progress.style.display = '';
        }

        var sdatastringstart = '[';
        var sdatastringend = ']';
        var sdatarowseparator = '];[';
        var sdatacolumnseparator = '|';
        var sdataitemseparator = '::';

        controlMessage('', false);

        //if (isautozooming == 0)
        if (isautozooming == 0) {

            /*  static here - can be set by calling element later */
            var returnargument;
            returnargument = 'dshowtestvaluescontent';

            //get map data

            var bounds = map.getBounds();
            var southWest = bounds.getSouthWest();
            var northEast = bounds.getNorthEast();
            var minx = southWest.lng();
            var maxx = northEast.lng();
            var miny = southWest.lat();
            var maxy = northEast.lat();

            var ctr;
            var lng;
            var lat;
            ctr = map.getCenter();
            lng = ctr.lng();
            lat = ctr.lat();
            var centerx = lng;
            var centery = lat;

            //end: get map data
            var cboPropertyType = document.getElementById('cboPropertyType');
            var propertytypevalue = cboPropertyType.value;

            /* create string containing search arguments  */
            var sarguments = '';

            sarguments += sdatastringstart;
            // add sspecialarguments
            if (sargumentsspecial != '') {
                sarguments += sargumentsspecial;
                sarguments += sdatacolumnseparator;
            }
            //add mapinfo
            sarguments += 'minx' + sdataitemseparator + minx;
            sarguments += sdatacolumnseparator;
            sarguments += 'maxx' + sdataitemseparator + maxx;
            sarguments += sdatacolumnseparator;
            sarguments += 'miny' + sdataitemseparator + miny;
            sarguments += sdatacolumnseparator;
            sarguments += 'maxy' + sdataitemseparator + maxy;
            sarguments += sdatacolumnseparator;
            sarguments += 'centerx' + sdataitemseparator + centerx;
            sarguments += sdatacolumnseparator;
            sarguments += 'centery' + sdataitemseparator + centery;
            sarguments += sdatacolumnseparator;
            //ad forminfo
            sarguments += 'propertytypevalue' + sdataitemseparator + propertytypevalue;

            var afrmelements = new Array('txtPrice1', 'txtPrice2', 'txtSize1', 'txtSize2', 'txtNumberOfRooms1', 'txtNumberOfRooms2', 'txtZipCode');
            var afrmarguments = new Array('price1', 'price2', 'size1', 'size2', 'numberofrooms1', 'numberofrooms2', 'zipcode');


            for (var x in afrmelements) {
                var selementname = afrmelements[x];
                var element = document.getElementById(selementname);
                var selementvalue = element.value;
                selementvalue = trim(selementvalue);

                var azipcodedetail = new Array();
                if (selementvalue != '') {
                    if (selementname == 'txtZipCode') {
                        //alert(selementname + ' - selementvalue:[' + selementvalue + ']');
                        iszipcodesearch = 1;

                        azipcodedetail[0] = selementvalue;
                        azipcodedetail[1] = propertytypevalue;
                        azipcode[azipcode.length] = azipcodedetail;
                    }
                    sarguments += sdatacolumnseparator;
                    sarguments += afrmarguments[x] + sdataitemseparator + selementvalue;
                }
                else {
                    if (selementname == 'txtZipCode') {
                        iszipcodesearch = 0;

                        azipcodedetail[0] = selementvalue;
                        azipcodedetail[1] = propertytypevalue;
                        azipcode[azipcode.length] = azipcodedetail;
                    }
                }
            }

            sarguments += sdatastringend;

            //xxx
            searchtypeglobal = searchtype;

            if (searchtype == 'savedsearch') {
                executingsavedsearch = 1
            }
            //GetMainStatistics(sarguments);
            if (searchtype != 'startupsearch') {
                dateBeforeGetChartsAndProperties = new Date();
                GetProperties(sarguments);



                if (issecondzipcodesearch == 0) {

                    if (ispnsearch == 0) {
                        var s = s_gi(sitecatalystid);
                        s.linkTrackVars = 'events,prop1';
                        s.linkTrackEvents = 'event1';
                        s.prop1 = 'Søg bolig';
                        s.events = 'event1';
                        s.tl(this, 'o', 'Søg boliger');

                        GetCharts(sarguments);
                    }
                }
                else {
                    issecondzipcodesearch = 0;
                }
            }
        }
        else {
            isautozooming = 0;
        }
        //end: //if (isautozooming == 0)
    }
    //end:     if (savedsearchsetmapcenter == 0)

    isfinishedsearch = 1;

    var dsavedsearch1 = document.getElementById('dsavedsearch1');
    var dsavedsearch2 = document.getElementById('dsavedsearch2');

    imgbtn_gemsoeg = document.getElementById('imgbtn_gemsoeg');


    if ((dsavedsearch1.innerHTML == '') && (dsavedsearch2.innerHTML == '')) {

        imgbtn_gemsoeg.src = 'Images/bundgrafik/btn_gemsoeg_2.gif';
    }
    else {

        imgbtn_gemsoeg.src = 'Images/bundgrafik/btn_gemsoeg.gif';
    }
}


function GetCharts(sarguments, eventArgs) {

    var hiddenField = document.getElementById(hiddenfieldid);
    hiddenField.value += 'x';
    __doPostBack(hiddenfieldid, sarguments);

    return false;
}

function OpenSignUpForAjour(ischeck) {

    var dsignuptoajourstep1 = document.getElementById('dsignuptoajourstep1');
    var dsignuptoajourstep1b_unidentifiedajouruser = document.getElementById('dsignuptoajourstep1b_unidentifiedajouruser');
    var dsignuptoajourstep1c_newajouruser = document.getElementById('dsignuptoajourstep1c_newajouruser');

    if (ischeck == 'nocheck') {
        dsignuptoajourstep1.style.display = 'none';
        dsignuptoajourstep1c_newajouruser.style.display = '';
    }
    else {
        dsignuptoajourstep1.style.display = 'none';
        dsignuptoajourstep1b_unidentifiedajouruser.style.display = '';
    }

}

//yyy1

function SignUpForAjour(ischeck) {
    var txtSignUpForAjourEmailChecked = document.getElementById('txtSignUpForAjourEmailChecked');
    var txtSignUpForAjourEmailNotChecked = document.getElementById('txtSignUpForAjourEmailNotChecked');

    var semail = '';

    if (ischeck == 'check') {
        semail = txtSignUpForAjourEmailChecked.value;
    }
    else {
        var semailcheck = '';
        semailcheck = txtSignUpForAjourEmailNotChecked.value;
        sarguments = trim(semailcheck);
        PageMethods.CheckIfAjourEmailExists(sarguments, OnSucceededCheckAjourEmailUnchecked);
    }

    var sarguments = '';

    if (trim(semail) != '') {
        sarguments = trim(semail);
        PageMethods.AjourSignUpEmail(sarguments, OnSignUpForAjourSucceeded);
    }
}


function OnSucceededCheckAjourEmailUnchecked(result, userContext, methodName) {

    var sresult = result;

    //alert('OnSucceededCheckAjourEmailUnchecked:' + sresult);
    var txtSignUpForAjourEmailNotChecked = document.getElementById('txtSignUpForAjourEmailNotChecked');

    var dsignuptoajourstep1 = document.getElementById('dsignuptoajourstep1');
    var dsignuptoajourstep1a_identifiedajouruser = document.getElementById('dsignuptoajourstep1a_identifiedajouruser');
    var dsignuptoajourstep1b_unidentifiedajouruser = document.getElementById('dsignuptoajourstep1b_unidentifiedajouruser');
    var dsignuptoajourstep1c_newajouruser = document.getElementById('dsignuptoajourstep1c_newajouruser');
    var dinvalidsignupforajouremailmessage = document.getElementById('dinvalidsignupforajouremailmessage');

    dsignuptoajourstep1a_identifiedajouruser.style.display = 'none';
    dsignuptoajourstep1b_unidentifiedajouruser.style.display = 'none';
    dinvalidsignupforajouremailmessage.style.display = 'none';


    if (result == 'invalid_email') {
        dinvalidsignupforajouremailmessage.style.display = '';
    }
    else {
        if (result == 'TRUE') {
            dsignuptoajourstep1.style.display = 'none';
            dsignuptoajourstep1c_newajouruser.style.display = 'none';
            dsignuptoajourstep1a_identifiedajouruser.style.display = '';
        }
        else {
            dsignuptoajourstep1.style.display = 'none';

            var semail = '';
            var sarguments = '';

            semail = txtSignUpForAjourEmailNotChecked.value;

            sarguments = trim(semail);
            PageMethods.AjourSignUpEmail(sarguments, OnSignUpForAjourSucceeded);
        }
    }
    //end: if (result == 'invalid_email')         
}

function OnSignUpForAjourSucceeded(result, userContext, methodName) {


    var dsignuptoajourstep1b_unidentifiedajouruser = document.getElementById('dsignuptoajourstep1b_unidentifiedajouruser');
    var dsignuptoajourstep1c_newajouruser = document.getElementById('dsignuptoajourstep1c_newajouruser');
    var dsignuptoajourstep2_signedupajouruser = document.getElementById('dsignuptoajourstep2_signedupajouruser');

    var dinvalidsignupforajouremailmessage = document.getElementById('dinvalidsignupforajouremailmessage');
    dinvalidsignupforajouremailmessage.style.display = 'none';

    if (result == 'invalid_email') {
        dinvalidsignupforajouremailmessage.style.display = '';
    }
    else {
        var sid = result;
        ajourid = result;

        dsignuptoajourstep1b_unidentifiedajouruser.style.display = 'none';
        dsignuptoajourstep1c_newajouruser.style.display = 'none';

        dsignuptoajourstep2_signedupajouruser.style.display = '';

        SCCustomLinkTracking('event11', 'mail sendt - tilmeldt', 'event11');

    }
    //end: if (result == 'invalid_email')        
}


function CheckAjourEmail() {
    var txtCheckAjourEmail = document.getElementById('txtCheckAjourEmail');
    var txtSignUpForAjourEmailChecked = document.getElementById('txtSignUpForAjourEmailChecked');
    var dinvalidsignupforajouremailmessage = document.getElementById('dinvalidsignupforajouremailmessage');
    dinvalidsignupforajouremailmessage.style.display = 'none';

    var semail = txtCheckAjourEmail.value;
    var sarguments = '';

    if (trim(semail) != '') {
        txtSignUpForAjourEmailChecked.value = semail;
        sarguments = trim(semail);
        PageMethods.CheckIfAjourEmailExists(sarguments, OnSucceededCheckAjourEmail);
    }
}

function OnSucceededCheckAjourEmail(result, userContext, methodName) {

    var sresult = result;

    var dsignuptoajourstep1 = document.getElementById('dsignuptoajourstep1');
    var dsignuptoajourstep1a_identifiedajouruser = document.getElementById('dsignuptoajourstep1a_identifiedajouruser');
    var dsignuptoajourstep1b_unidentifiedajouruser = document.getElementById('dsignuptoajourstep1b_unidentifiedajouruser');
    var dinvalidsignupforajouremailmessage = document.getElementById('dinvalidsignupforajouremailmessage');

    dsignuptoajourstep1a_identifiedajouruser.style.display = 'none';
    dinvalidsignupforajouremailmessage.style.display = 'none';
    dsignuptoajourstep1b_unidentifiedajouruser.style.display = 'none';

    if (result == 'invalid_email') {
        dinvalidsignupforajouremailmessage.style.display = '';
    }
    else {
        if (result == 'TRUE') {
            dsignuptoajourstep1.style.display = 'none';
            dsignuptoajourstep1b_unidentifiedajouruser.style.display = 'none';
            dsignuptoajourstep1a_identifiedajouruser.style.display = '';

            SCCustomLinkTracking('event11', 'mail sendt', 'event11');
        }
        else {
            dsignuptoajourstep1.style.display = 'none';
            dsignuptoajourstep1a_identifiedajouruser.style.display = 'none';
            OpenSignUpForAjour('check');
        }
    }
    //end: if (result == 'invalid_email')         
}

function SaveSearchHideElements() {
    var dmainstatisticstotal = document.getElementById('dmainstatisticstotal');
    var dsavesearchnew_1 = document.getElementById('dsavesearchnew_1');
    var dsavesearchnew_2 = document.getElementById('dsavesearchnew_2');

    dmainstatisticstotal.style.display = '';

    dsavesearchnew_1.style.display = 'none';
    dsavesearchnew_2.style.display = 'none';
}

function SignUpToAjourHideElements() {
    var dmainstatisticstotal = document.getElementById('dmainstatisticstotal');
    var dsignuptoajourstep1 = document.getElementById('dsignuptoajourstep1');
    var dsignuptoajourstep1a_identifiedajouruser = document.getElementById('dsignuptoajourstep1a_identifiedajouruser');
    var dsignuptoajourstep1b_unidentifiedajouruser = document.getElementById('dsignuptoajourstep1b_unidentifiedajouruser');
    var dsignuptoajourstep1c_newajouruser = document.getElementById('dsignuptoajourstep1c_newajouruser');
    var dsignuptoajourstep2_signedupajouruser = document.getElementById('dsignuptoajourstep2_signedupajouruser');

    var dsignuptoajourbottomdiv = document.getElementById('dsignuptoajourbottomdiv');
    var dinvalidsignupforajouremailmessage = document.getElementById('dinvalidsignupforajouremailmessage');
    var dhidesignuptoajourlink = document.getElementById('dhidesignuptoajourlink');

    dmainstatisticstotal.style.display = '';
    dsignuptoajourstep1.style.display = 'none';
    dsignuptoajourstep1a_identifiedajouruser.style.display = 'none';
    dsignuptoajourstep1b_unidentifiedajouruser.style.display = 'none';
    dsignuptoajourstep1c_newajouruser.style.display = 'none';
    dsignuptoajourstep2_signedupajouruser.style.display = 'none';

    dsignuptoajourbottomdiv.style.display = 'none';
    dinvalidsignupforajouremailmessage.style.display = 'none';
    dhidesignuptoajourlink.style.display = 'none';

}

//yyy3  
function SaveSearch() {

    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';

    var dmessage = document.getElementById('dmessage');
    var dmainstatisticstotal = document.getElementById('dmainstatisticstotal');
    var dsignuptoajourstep1 = document.getElementById('dsignuptoajourstep1');
    var dsignuptoajourstep1a_identifiedajouruser = document.getElementById('dsignuptoajourstep1a_identifiedajouruser');
    var dsignuptoajourstep1b_unidentifiedajouruser = document.getElementById('dsignuptoajourstep1b_unidentifiedajouruser');
    var dsignuptoajourstep1c_newajouruser = document.getElementById('dsignuptoajourstep1c_newajouruser');
    var dsignuptoajourstep2_signedupajouruser = document.getElementById('dsignuptoajourstep2_signedupajouruser');

    var dsignuptoajourbottomdiv = document.getElementById('dsignuptoajourbottomdiv');
    var dinvalidsignupforajouremailmessage = document.getElementById('dinvalidsignupforajouremailmessage');
    var dhidesignuptoajourlink = document.getElementById('dhidesignuptoajourlink');

    if (dmessage.style.display == '')
        dmessage.style.display = 'none';

    if (dsignuptoajourstep1.style.display == '')
        dsignuptoajourstep1.style.display = 'none';

    if (dsignuptoajourstep1a_identifiedajouruser.style.display == '')
        dsignuptoajourstep1a_identifiedajouruser.style.display = 'none';

    if (dsignuptoajourstep1b_unidentifiedajouruser.style.display == '')
        dsignuptoajourstep1b_unidentifiedajouruser.style.display = 'none';

    if (dsignuptoajourstep1c_newajouruser.style.display == '')
        dsignuptoajourstep1c_newajouruser.style.display = 'none';

    if (dsignuptoajourstep2_signedupajouruser.style.display == '')
        dsignuptoajourstep2_signedupajouruser.style.display = 'none';


    if (dsignuptoajourbottomdiv.style.display == '')
        dsignuptoajourbottomdiv.style.display = 'none';

    if (dinvalidsignupforajouremailmessage.style.display == '')
        dinvalidsignupforajouremailmessage.style.display = 'none';

    if (dhidesignuptoajourlink.style.display == '')
        dhidesignuptoajourlink.style.display = 'none';

    if ((minelaanid == '-1') && (ajourid == '-1')) {

        dmainstatisticstotal.style.display = 'none';
        dsignuptoajourstep1.style.display = '';
        dsignuptoajourbottomdiv.style.display = '';
        dhidesignuptoajourlink.style.display = '';
    }
    else {

        var dsavesearchnew_1 = document.getElementById('dsavesearchnew_1');
        var dsavesearchnew_2 = document.getElementById('dsavesearchnew_2');

        var dsavedsearch2 = document.getElementById('dsavedsearch2');
        var txtSaveSearchName_1 = document.getElementById('txtSaveSearchName_1');
        var txtSaveSearchName_2 = document.getElementById('txtSaveSearchName_2');

        dmainstatisticstotal.style.display = 'none';

        var ssavetext = '';

        if (dsavedsearch2.innerHTML != '') {
            dsavesearchnew_1.style.display = 'none';
            dsavesearchnew_2.style.display = '';

            ssavetext = txtSaveSearchName_2.value;
        }
        else {
            dsavesearchnew_2.style.display = 'none';
            dsavesearchnew_1.style.display = '';

            ssavetext = txtSaveSearchName_1.value;
        }

        ssavetext = trim(ssavetext);

        if (ssavetext != '') {

            var sargumentsspecial = '';

            sargumentsspecial += 'searchname' + sdataitemseparator + ssavetext;
            sargumentsspecial += sdatacolumnseparator;

            if (dsavedsearch2.innerHTML != '') {
                var rdsavedsearchoverwrite1 = document.getElementById('rdsavedsearchoverwrite1');
                var rdsavedsearchoverwrite2 = document.getElementById('rdsavedsearchoverwrite2');
                var overwritesearchnumber;

                if (rdsavedsearchoverwrite1.checked)
                    overwritesearchnumber = '1';
                else
                    overwritesearchnumber = '2';

                sargumentsspecial += 'overwritesearchnumber' + sdataitemseparator + overwritesearchnumber;
                sargumentsspecial += sdatacolumnseparator;

            }

            if (minelaanid != '') {
                sargumentsspecial += 'minelaanid' + sdataitemseparator + minelaanid;
                sargumentsspecial += sdatacolumnseparator;
            }

            if (ajourid != '') {
                sargumentsspecial += 'ajourid' + sdataitemseparator + ajourid;
                sargumentsspecial += sdatacolumnseparator;
            }

            //get map data
            var iszipcodesearch = 0;
            var azipcode = new Array

            var bounds = map.getBounds();
            var southWest = bounds.getSouthWest();
            var northEast = bounds.getNorthEast();
            var minx = southWest.lng();
            var maxx = northEast.lng();
            var miny = southWest.lat();
            var maxy = northEast.lat();

            var ctr;
            var lng;
            var lat;
            ctr = map.getCenter();
            lng = ctr.lng();
            lat = ctr.lat();
            var centerx = lng;
            var centery = lat;
            var zoomlevel;
            zoomlevel = map.getZoom();

            //end: get map data
            var cboPropertyType = document.getElementById('cboPropertyType');
            var propertytypevalue = cboPropertyType.value;

            /* create string containing search arguments  */
            var sarguments = '';

            sarguments += sdatastringstart;
            // add sspecialarguments
            if (sargumentsspecial != '') {
                sarguments += sargumentsspecial;
                sarguments += sdatacolumnseparator;
            }
            //add mapinfo
            sarguments += 'minx' + sdataitemseparator + minx;
            sarguments += sdatacolumnseparator;
            sarguments += 'maxx' + sdataitemseparator + maxx;
            sarguments += sdatacolumnseparator;
            sarguments += 'miny' + sdataitemseparator + miny;
            sarguments += sdatacolumnseparator;
            sarguments += 'maxy' + sdataitemseparator + maxy;
            sarguments += sdatacolumnseparator;
            sarguments += 'centerx' + sdataitemseparator + centerx;
            sarguments += sdatacolumnseparator;
            sarguments += 'centery' + sdataitemseparator + centery;
            sarguments += sdatacolumnseparator;
            sarguments += 'zoomlevel' + sdataitemseparator + zoomlevel;
            sarguments += sdatacolumnseparator;
            //ad forminfo
            sarguments += 'propertytypevalue' + sdataitemseparator + propertytypevalue;

            var afrmelements = new Array('txtPrice1', 'txtPrice2', 'txtSize1', 'txtSize2', 'txtNumberOfRooms1', 'txtNumberOfRooms2', 'txtZipCode');
            var afrmarguments = new Array('price1', 'price2', 'size1', 'size2', 'numberofrooms1', 'numberofrooms2', 'zipcode');


            for (var x in afrmelements) {
                var selementname = afrmelements[x];
                var element = document.getElementById(selementname);
                var selementvalue = element.value;
                selementvalue = trim(selementvalue);

                if (selementvalue != '') {
                    sarguments += sdatacolumnseparator;
                    sarguments += afrmarguments[x] + sdataitemseparator + selementvalue;
                }
            }


            var aresultmelements = new Array('dsalesperiod', 'daskingprice', 'dnumberofproperties');
            var aresultarguments = new Array('liggetid', 'udbudspris', 'antalboliger');


            for (var x in aresultmelements) {

                var selementname = aresultmelements[x];
                var element = document.getElementById(selementname);
                var selementvalue = element.innerHTML;
                selementvalue = trim(selementvalue);

                if (selementvalue != '') {

                    if (selementvalue.indexOf('.' != -1)) {
                        selementvalue = selementvalue.replace('.', '');
                    }

                    sarguments += sdatacolumnseparator;
                    sarguments += aresultarguments[x] + sdataitemseparator + selementvalue;
                }
            }

            sarguments += sdatastringend;

            //alert('SaveSearch - sarguments:' + sarguments);

            SaveSearchName(sarguments);
        }
        //end: if (ssavetext != '')

    }
    //end: if ((minelaanid == '') && (ajourid == ''))

}

function SaveSearchName(sarguments) {

    PageMethods.SaveSearchData(sarguments, OnSucceededSearchData);
}


function OnSucceededSearchData(result, userContext, methodName) {

    var sdatastring = '';

    sdatastring = result;

    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';
    //remove wrapper chars
    sdatastring = sdatastring.substring(1, sdatastring.length);
    sdatastring = sdatastring.substring(0, sdatastring.length - 1);

    var adatarows = sdatastring.split(sdatarowseparator);

    var dmainstatisticstotal = document.getElementById('dmainstatisticstotal');

    var dsavedsearch1 = document.getElementById('dsavedsearch1');
    var dsavedsearch2 = document.getElementById('dsavedsearch2');

    var dsavesearchnew_1 = document.getElementById('dsavesearchnew_1');
    var dsavesearchnew_2 = document.getElementById('dsavesearchnew_2');

    var txtSaveSearchName_1 = document.getElementById('txtSaveSearchName_1');
    var txtSaveSearchName_2 = document.getElementById('txtSaveSearchName_2');

    for (var i = 0; i < adatarows.length; i++) {
        var sdatarow = adatarows[i];
        var adatarow = sdatarow.split(sdatacolumnseparator);
        var sid = adatarow[0];
        var sname = adatarow[1];
        if (i == 0) {
            var ssavedsearch1link = '<a href=\'javascript:ExecuteSavedSearch(' + sid + ');\'>' + '1. ' + sname + '</a>';
            dsavedsearch1.innerHTML = ssavedsearch1link;
        }
        if (i == 1) {
            var ssavedsearch2link = '<a href=\'javascript:ExecuteSavedSearch(' + sid + ');\'>' + '2. ' + sname + '</a>';
            dsavedsearch2.innerHTML = ssavedsearch2link;
        }

    }

    var trsavedsearches = document.getElementById('trsavedsearches');
    var trsavedsearchesnone = document.getElementById('trsavedsearchesnone');

    trsavedsearchesnone.style.display = 'none';
    trsavedsearches.style.display = '';



    dsavesearchnew_1.style.display = 'none';
    dsavesearchnew_2.style.display = 'none';

    txtSaveSearchName_1.value = '';
    txtSaveSearchName_2.value = '';

    dmainstatisticstotal.style.display = '';

    //check if saved search
    //if no: change searchbutton    


    var s = s_gi(sitecatalystid);
    s.linkTrackVars = 'events,prop1';
    s.linkTrackEvents = 'event2';
    s.prop1 = 'Gem søgning';
    s.events = 'event2';
    s.tl(this, 'o', 'Gem søgning');

}


function ExecuteSavedSearch(searchinformationid) {


    var sdatastring = '';
    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';

    var sarguments = '';
    sdatastring = sdatastringstart + searchinformationid + sdatastringend;

    sarguments = sdatastring;

    PageMethods.GetSavedSearch(sarguments, OnSucceededGetSavedSearch);
}

var savedsearchsetmapcenter = 0;
function OnSucceededGetSavedSearch(result, userContext, methodName) {
    var sdatastring = result;

    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';

    var cboPropertyType = document.getElementById('cboPropertyType');
    var txtPrice1 = document.getElementById('txtPrice1');
    var txtPrice2 = document.getElementById('txtPrice2');
    var txtSize1 = document.getElementById('txtSize1');
    var txtSize2 = document.getElementById('txtSize2');
    var txtNumberOfRooms1 = document.getElementById('txtNumberOfRooms1');
    var txtNumberOfRooms2 = document.getElementById('txtNumberOfRooms2');
    var txtZipCode = document.getElementById('txtZipCode');

    //remove wrapper chars
    sdatastring = sdatastring.substring(1, sdatastring.length);
    sdatastring = sdatastring.substring(0, sdatastring.length - 1);

    adatacolums = sdatastring.split(sdatacolumnseparator);

    var centerx;
    var centery;
    var zoomlevel;
    var issavedzipcode = 0;
    for (var i = 0; i < adatacolums.length; i++) {
        var sdatacolumn = adatacolums[i];
        var adatacolumn = sdatacolumn.split(sdataitemseparator);
        var slabel = adatacolumn[0];
        var svalue = adatacolumn[1];

        switch (slabel) {
            case 'propertytypevalue':
                if (svalue == 'VR')
                    cboPropertyType.selectedIndex = 1;
                if (svalue == 'EJ')
                    cboPropertyType.selectedIndex = 2;
                if (svalue == 'FR')
                    cboPropertyType.selectedIndex = 3;
                break;
            case 'price1':
                if (svalue != '-1')
                    txtPrice1.value = svalue;
                break;
            case 'price2':
                if (svalue != '-1')
                    txtPrice2.value = svalue;
                break;
            case 'size1':
                if (svalue != '-1')
                    txtSize1.value = svalue;
                break;
            case 'size2':
                if (svalue != '-1')
                    txtSize2.value = svalue;
                break;
            case 'numberofrooms1':
                if (svalue != '-1')
                    txtNumberOfRooms1.value = svalue;
                break;
            case 'numberofrooms2':
                if (svalue != '-1')
                    txtNumberOfRooms2.value = svalue;
                break;
            case 'zipcode':
                if (svalue != '-1') {
                    issavedzipcode = 1;
                    txtZipCode.value = svalue;
                }
                break;
            case 'centerx':
                if (svalue != '-1')
                    centerx = svalue;
                break;
            case 'centery':
                if (svalue != '-1')
                    centery = svalue;
                break;
            case 'zoomlevel':
                if (svalue != '-1')
                    zoomlevel = parseInt(svalue, 10);
                break;

        }

    }
    //end: for (var i=0; i<adatacolums.length; i++)

    //alert('OnSucceededGetSavedSearch - before  map.setCenter(latlng, zoomlevel)');
    if (issavedzipcode == 0) {

        savedsearchsetmapcenter = 1;

        var latlng = new GLatLng(centery, centerx);
        map.setCenter(latlng, zoomlevel);

        savedsearchsetmapcenter = 0;
    }
    //alert('OnSucceededGetSavedSearch - after  map.setCenter(latlng, zoomlevel)');

    //xxxxx
    var sargumentsspecial = '';
    sargumentsspecial += 'isstartupsearch' + sdataitemseparator + '0';
    sargumentsspecial += sdatacolumnseparator;
    sargumentsspecial += 'ismapsearch' + sdataitemseparator + '0';
    sargumentsspecial += sdatacolumnseparator;
    sargumentsspecial += 'isformsearch' + sdataitemseparator + '1';

    //Search(sargumentsspecial,'savedsearch');

    FormSearch();
}

function GetMainStatistics(sarguments) {

    PageMethods.GetMainStatisticsData(sarguments, OnSucceededStatistics);

}

function OnSucceededStatistics(result, userContext, methodName) {

    var sdatastring = result;

    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';

    //remove wrapper chars
    sdatastring = sdatastring.substring(1, sdatastring.length);
    sdatastring = sdatastring.substring(0, sdatastring.length - 1);

    var dpropertiesforsaletext = document.getElementById('dpropertiesforsaletext');
    var cboPropertyType = document.getElementById('cboPropertyType');
    var txtZipCode = document.getElementById('txtZipCode');

    var searchcriteriamainstatistics = '';

    switch (cboPropertyType.selectedIndex) {
        case 1:
            searchcriteriamainstatistics = 'Villa/rækkehuse';
            break;
        case 2:
            searchcriteriamainstatistics = 'Ejerlejligheder';
            break;
        case 3:
            searchcriteriamainstatistics = 'Fritidshuse';
            break;
    }

    var szipcode = txtZipCode.value;
    szipcode = trim(szipcode);
    if (szipcode != '') {
        if (validateInteger(szipcode)) {
            if (szipcode.length == 4) {
                searchcriteriamainstatistics += ' i ' + szipcode;
            }
        }
    }

    dpropertiesforsaletext.innerHTML = searchcriteriamainstatistics;

    //dshowreturnedvalues.innerHTML = sdatastring;
    var groen_pil_op = '<img src="Images/bundgrafik/groen_pil_op.gif" width="22" height="24" />';
    var groen_pil_ned = '<img src="Images/bundgrafik/groen_pil_ned.gif" width="22" height="24" />';

    var adatacolumn = sdatastring.split(sdatacolumnseparator);

    var daskingprice = document.getElementById('daskingprice');
    var daskingpricechange = document.getElementById('daskingpricechange');
    var daskingpricechangepic = document.getElementById('daskingpricechangepic');
    var dsalesperiod = document.getElementById('dsalesperiod');
    var dsalesperiodchange = document.getElementById('dsalesperiodchange');
    var dsalesperiodchangepic = document.getElementById('dsalesperiodchangepic');
    var dnumberofproperties = document.getElementById('dnumberofproperties');
    var dnumberofpropertieschange = document.getElementById('dnumberofpropertieschange');
    var dnumberofpropertieschangepic = document.getElementById('dnumberofpropertieschangepic');

    daskingprice.innerHTML = adatacolumn[0];
    var askingpricechange = adatacolumn[1];
    if (askingpricechange != '') {
        daskingpricechange.innerHTML = askingpricechange + "%";
        askingpricechangecheck = askingpricechange.replace(',', '.');
        if (parseFloat(askingpricechangecheck) > 0)
            daskingpricechangepic.innerHTML = groen_pil_op;
        if (parseFloat(askingpricechangecheck) < 0)
            daskingpricechangepic.innerHTML = groen_pil_ned;
    }

    dsalesperiod.innerHTML = adatacolumn[2];
    var salesperiodchange = adatacolumn[3];
    if (salesperiodchange != '') {
        dsalesperiodchange.innerHTML = salesperiodchange + "%";
        salesperiodchangecheck = salesperiodchange.replace(',', '.');
        if (parseFloat(salesperiodchangecheck) > 0)
            dsalesperiodchangepic.innerHTML = groen_pil_op;
        if (parseFloat(salesperiodchangecheck) < 0)
            dsalesperiodchangepic.innerHTML = groen_pil_ned;
    }

    dnumberofproperties.innerHTML = adatacolumn[4];
    var numberofpropertieschange = adatacolumn[5];
    if (numberofpropertieschange != '') {
        dnumberofpropertieschange.innerHTML = numberofpropertieschange + "%";
        numberofpropertieschangecheck = numberofpropertieschange.replace(',', '.');
        if (parseFloat(numberofpropertieschangecheck) > 0)
            dnumberofpropertieschangepic.innerHTML = groen_pil_op;
        if (parseFloat(numberofpropertieschangecheck) < 0)
            dnumberofpropertieschangepic.innerHTML = groen_pil_ned;
    }

}

//GetPropertyResult
// json 
var dateGetPropertyResult1;
var dateGetPropertyResult2;
function GetProperties(sarguments) {

    dateGetPropertyResult1 = new Date();

    //var dshowtestvaluescontent = document.getElementById('dshowtestvaluescontent');
    //dshowtestvaluescontent.innerHTML += '<br/>' + dateGetPropertyResult1.toLocaleString();

    PageMethods.GetPropertySearchResult(sarguments, OnSucceeded);

}

function OnSucceeded(result, userContext, methodName) {

    dateGetPropertyResult2 = new Date();
    var datediff = DateDiff(dateGetPropertyResult1, dateGetPropertyResult2)

    //var dshowtestvaluescontent = document.getElementById('dshowtestvaluescontent');
    var dmap_progress = document.getElementById('dmap_progress');

    ClearMapMarkers();
    dmap_progress.style.display = 'none';

    if ((result.substring(0, 6) == 'Error:') || (result.substring(0, 11) == 'Teststring:')) {
        //dshowtestvaluescontent.innerHTML += result; 
    }
    else {
        //alert(dateBeforeGetChartsAndProperties + ' ' + dateGetPropertyResult1 + ' ' + dateGetPropertyResult2);

        if (issecondzipcodesearch == 0) {

            if (ispnsearch == 0) {


            }
        }

        ShowResultsOnMap(result);
        //dshowtestvaluescontent.innerHTML = result; 
    }

    //dshowtestvaluescontent.innerHTML += '<br/>' + 'webservicecall for propertydata - duration in ms:' + datediff; 
}

function OnFailed(error, userContext, methodName) {
    //$get('Label1').innerHTML = "An error occured.";
}

//end: json

function validateSearchForm() {

}

function controlMessage(message, show) {
    var trmessage = document.getElementById('trmessage');
    var dmessage = document.getElementById('dmessage');

    if (show) {
        trmessage.style.display = '';
        dmessage.style.display = '';
        dmessage.innerHTML = message;
    }
    else {
        trmessage.style.display = 'none';
        dmessage.style.display = 'none';
        dmessage.innerHTML = '';
    }
}

function FormSearch() {

    var dmap_canvas = document.getElementById('dmap_canvas');
    var dpropertylist = document.getElementById('dpropertylist');
    var dmap_moved = document.getElementById('dmap_moved');

    dmap_canvas.style.display = "";
    dpropertylist.style.display = "none";
    dmap_moved.style.display = "none";

    var lnkshowlist = document.getElementById('lnkshowlist');
    var lnkshowmap = document.getElementById('lnkshowmap');
    var dmap_showpropertylist = document.getElementById('dmap_showpropertylist');

    lnkshowlist.style.display = "none";
    lnkshowmap.style.display = "none";
    dmap_showpropertylist.style.display = "none";

    cboPropertyType = document.getElementById('cboPropertyType');

    //cboZooomLevelZipCode = document.getElementById('cboZooomLevelZipCode');

    //if (cboZooomLevelZipCode.value != '-1') {
    //	zoomlevelzipcode = parseInt(cboZooomLevelZipCode.value);
    //}

    if (cboPropertyType.value == '-1') {
        alert('Boligtype skal vælges før søgning.');
    }
    else {

        lnkshowlist.style.display = "none";
        lnkshowmap.style.display = "none";
        dmap_showpropertylist.display = "none";

        var sdatastringstart = '[';
        var sdatastringend = ']';
        var sdatarowseparator = '];[';
        var sdatacolumnseparator = '|';
        var sdataitemseparator = '::';


        var afrmelements = new Array('txtPrice1', 'txtPrice2', 'txtSize1', 'txtSize2', 'txtNumberOfRooms1', 'txtNumberOfRooms2', 'txtZipCode');
        var afrmelementsmessage = new Array('Pris 1 ugyldig', 'Pris 2 ugyldig', 'Størrelse 1 ugyldig', 'Størrelse 2 ugyldig', 'Antal rum 1 ugyldigt', 'Antal rum 2 ugyldigt', 'Postnummer ugyldigt');
        var afrmelementpairs = new Array(['txtPrice1', 'txtPrice2', 'Pris 1', 'pris 2'], ['txtSize1', 'txtSize2', 'Størrelse 1', 'størrelse 2'], ['txtNumberOfRooms1', 'txtNumberOfRooms2', 'Antal rum 1', 'antal rum 2']);

        controlMessage('', false);

        var errormessage = '';
        for (var x in afrmelements) {
            var selementname = afrmelements[x];

            var element = document.getElementById(selementname);
            var selementvalue = element.value;
            selementvalue = trim(selementvalue);

            if (selementvalue != '') {
                if (!validateInteger(selementvalue)) {
                    errormessage = 'Der kan kun indtastes hele tal. ' + afrmelementsmessage[x] + '.';
                    break;
                }
                else {
                    if (selementname == 'txtZipCode') {
                        if (selementvalue.length != 4) {
                            errormessage = 'Postnr. skal være 4 cifre. ' + afrmelementsmessage[x] + '.';
                        }
                    }
                }
            }
        }

        for (var x in afrmelementpairs) {
            var aelementpair = afrmelementpairs[x];
            var elementname1 = aelementpair[0];
            var elementname2 = aelementpair[1];
            var elementnamedk1 = aelementpair[2];
            var elementnamedk2 = aelementpair[3];

            var element1 = document.getElementById(elementname1);
            var element2 = document.getElementById(elementname2);

            if ((trim(element1.value) != '') && (trim(element2.value) != '')) {
                if (parseInt(element2.value) < parseInt(element1.value)) {
                    errormessage = elementnamedk1 + ' skal være mindre end ' + elementnamedk2;
                }
            }

        }

        if (errormessage != '') {
            controlMessage(errormessage, true);
        }
        else {
            var sargumentsspecial = '';
            sargumentsspecial += 'isstartupsearch' + sdataitemseparator + '0';
            sargumentsspecial += sdatacolumnseparator;
            sargumentsspecial += 'ismapsearch' + sdataitemseparator + '0';
            sargumentsspecial += sdatacolumnseparator;
            sargumentsspecial += 'isformsearch' + sdataitemseparator + '1';

            Search(sargumentsspecial, 'formsearch');
        }

    }
    //end: if (cboPropertyType.value != '-1')     
}

var ssortelementlast = '';
var ssorttypelast = '';
function SortPropertyList(pagenumber, sortelement) {
    //alert('SortPropertyList():' + '-pagenumber:' + pagenumber + '-sortelement:' + sortelement + '-propertylistreadyforsort:' + propertylistreadyforsort);
    CloseProperty();

    var sorttype = '';

    if (propertylistreadyforsort == 1) {
        //alert('SortPropertyList():' + '-ssortelementlast:' + ssortelementlast + '-ssorttypelast:' + ssorttypelast);                

        if (sortelement != ssortelementlast) {
            switch (sortelement) {
                case "address":
                    sorttype = 'asc';
                    break;
                case "zipcode":
                    sorttype = 'desc';
                    break;
                case "yearbuild":
                    sorttype = 'desc';
                    break;
                case "arearesidential":
                    sorttype = 'desc';
                    break;
                case "offerprice":
                    sorttype = 'desc';
                    break;
            }
        }
        else {
            if (ssorttypelast == 'asc')
                sorttype = 'desc';
            else
                sorttype = 'asc';
        }

    }
    //end: if (propertylistreadyforsort == 1)

    //alert('SortPropertyList() - ShowPropertyList:' + '-pagenumber:' + pagenumber + '-sortelement:' + sortelement + '-sorttype:' + sorttype);  

    ShowPropertyList(pagenumber, sortelement, sorttype);
}

var propertylistreadyforsort = 0;
function ShowPropertyList(pagenumber, sortelement, sorttype) {



    CloseProperty();

    //n,alert('ShowPropertyList()');
    propertylistreadyforsort = 0;

    var sdatastring = '';
    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';


    var sarguments = '';

    sarguments += sdatastringstart;
    sarguments += 'resultid' + sdataitemseparator + sresultid;
    sarguments += sdatacolumnseparator;
    sarguments += 'numberofpropertiesperpage' + sdataitemseparator + numberofpropertiesperpage;
    sarguments += sdatacolumnseparator;
    sarguments += 'pagenumber' + sdataitemseparator + pagenumber;
    sarguments += sdatacolumnseparator;
    sarguments += 'numberofshowpagesmax' + sdataitemseparator + numberofshowpagesmax;
    sarguments += sdatacolumnseparator;
    sarguments += 'sortelement' + sdataitemseparator + sortelement;
    sarguments += sdatacolumnseparator;
    sarguments += 'sorttype' + sdataitemseparator + sorttype;
    sarguments += sdatastringend;

    //var dpsearchinfo = document.getElementById('dpsearchinfo');
    var dppageinfo = document.getElementById('dppageinfo');
    var dppagenavigation = document.getElementById('dppagenavigation');

    //dpsearchinfo.innerHTML = '';
    dppageinfo.innerHTML = '';
    dppagenavigation.innerHTML = '';

    var dpaddresssorticon = document.getElementById('dpaddresssorticon');
    var dpzipcodesorticon = document.getElementById('dpzipcodesorticon');
    var dpyearbuildsorticon = document.getElementById('dpyearbuildsorticon');
    var dparearesidentialsorticon = document.getElementById('dparearesidentialsorticon');
    var dpofferpricesorticon = document.getElementById('dpofferpricesorticon');


    dpaddresssorticon.innerHTML = '';
    dpzipcodesorticon.innerHTML = '';
    dpyearbuildsorticon.innerHTML = '';
    dparearesidentialsorticon.innerHTML = '';
    dpofferpricesorticon.innerHTML = '';

    //alert('ShowPropertyList - sarguments: ' + sarguments);
    for (var i = 1; i <= numberofpropertiesperpage; i++) {
        var dpaddress = document.getElementById('dpaddress' + i);
        var dpzipcode = document.getElementById('dpzipcode' + i);
        var dpyearbuild = document.getElementById('dpyearbuild' + i);
        var dparearesidential = document.getElementById('dparearesidential' + i);
        var dpofferprice = document.getElementById('dpofferprice' + i);

        dpaddress.innerHTML = '';
        dpzipcode.innerHTML = '';
        dpyearbuild.innerHTML = '';
        dparearesidential.innerHTML = '';
        dpofferprice.innerHTML = '';
    }

    GetPropertyList(sarguments);

    var dmap_canvas = document.getElementById('dmap_canvas');
    var dpropertylist = document.getElementById('dpropertylist');

    dmap_canvas.style.display = "none";
    dpropertylist.style.display = "";


}

//GetPropertyResult
// json 
var dateGetPropertyList1;
var dateGetPropertyList2;
function GetPropertyList(sarguments) {

    dateGetPropertyList1 = new Date();

    //alert('GetPropertyList - sarguments: ' + sarguments);

    //var dshowtestvaluescontent = document.getElementById('dshowtestvaluescontent');
    //dshowtestvaluescontent.innerHTML += '<br/>' + dateGetPropertyResult1.toLocaleString();

    PageMethods.GetPropertyList(sarguments, OnSucceededGetPropertyList);

}

function OnSucceededGetPropertyList(result, userContext, methodName) {

    dateGetPropertyList2 = new Date();
    var datediff = DateDiff(dateGetPropertyList1, dateGetPropertyList2)

    var dshowtestvaluescontent = document.getElementById('dshowtestvaluescontent');

    //alert('result:' + result);

    if ((result.substring(0, 6) == 'Error:') || (result.substring(0, 11) == 'Teststring:')) {
        //dshowtestvaluescontent.innerHTML += result; 
    }
    else {
        //alert(dateBeforeGetChartsAndProperties + ' ' + dateGetPropertyResult1 + ' ' + dateGetPropertyResult2);
        //dshowtestvaluescontent.innerHTML = result; 
        DisplayPropertyList(result);
    }

    //dshowtestvaluescontent.innerHTML += '<br/>' + 'webservicecall for propertydata - duration in ms:' + datediff; 
}

function DisplayPropertyList(datastring) {

    var sdatastringstart = '[';
    var sdatastringend = ']';
    var sdatarowseparator = '];[';
    var sdatacolumnseparator = '|';
    var sdataitemseparator = '::';

    var dshowtestvaluescontent = document.getElementById('dshowtestvaluescontent');

    var _spropertyimageurl_piclarge = 'http://pic.boligsiden.dk/property/large/1/';
    var _spropertyimageurl_picsmall = 'http://pic.boligsiden.dk/property/small/1/';


    var sdatastring = '';

    sdatastring = datastring;
    //dshowtestvaluescontent.innerHTML += '<br/>' + 'sdatastring before cut:' + '<br/>' + sdatastring;

    var sdatastringlength = sdatastring.length;
    //remove wrapper chars
    sdatastring = sdatastring.substring(3, sdatastringlength - 1);
    //dshowtestvaluescontent.innerHTML += '<br/>' + 'sdatastring after cut:' + '<br/>' + sdatastring;

    var adatarows = sdatastring.split(sdatarowseparator);

    var adatarowmaininfo = adatarows[0];
    var sdatarowmain = adatarowmaininfo;
    //alert(sdatarowmain); 
    var adatarowmain = sdatarowmain.split(sdatacolumnseparator);

    //var dpsearchinfo = document.getElementById('dpsearchinfo');
    var dppageinfo = document.getElementById('dppageinfo');
    var dppagenavigation = document.getElementById('dppagenavigation');

    var pagenumber = adatarowmain[2];
    var numberofproperties = adatarowmain[4];
    var numberofpages = adatarowmain[12];
    var ssortelement = adatarowmain[13];
    var ssorttype = adatarowmain[14];

    ssortelementlast = ssortelement;
    ssorttypelast = ssorttype;

    //dpsearchinfo.innerHTML = 'Din søgning fandt ' + numberofproperties + ' resultater';
    dppageinfo.innerHTML = 'side ' + pagenumber + ' af ' + numberofpages + ' sider';

    var spagenumbers = adatarowmain[9];
    var pageprevious = adatarowmain[10];
    var pagenext = adatarowmain[11];

    var apagenumbers = spagenumbers.split(',');
    var spagenavigation = '';

    var sarrowright = '<img src=\'Images/bundgrafik/pil_hoejre.gif\' alt=\'\' />';

    var dpaddresssorticon = document.getElementById('dpaddresssorticon');
    var dpzipcodesorticon = document.getElementById('dpzipcodesorticon');
    var dpyearbuildsorticon = document.getElementById('dpyearbuildsorticon');
    var dparearesidentialsorticon = document.getElementById('dparearesidentialsorticon');
    var dpofferpricesorticon = document.getElementById('dpofferpricesorticon');

    var sarrowsort_up = '<img src=\'Images/bundgrafik/pil_op.gif\' alt=\'\' />';
    var sarrowsort_down = '<img src=\'Images/bundgrafik/pil_ned.gif\' alt=\'\' />';

    //alert(ssortelement);

    switch (ssortelement) {
        case "address":
            if (ssorttype == "asc")
                dpaddresssorticon.innerHTML = sarrowsort_up;
            else
                dpaddresssorticon.innerHTML = sarrowsort_down;
            break;
        case "zipcode":
            if (ssorttype == "asc")
                dpzipcodesorticon.innerHTML = sarrowsort_up;
            else
                dpzipcodesorticon.innerHTML = sarrowsort_down;
            break;
        case "yearbuild":
            if (ssorttype == "asc")
                dpyearbuildsorticon.innerHTML = sarrowsort_up;
            else
                dpyearbuildsorticon.innerHTML = sarrowsort_down;
            break;
        case "arearesidential":
            if (ssorttype == "asc")
                dparearesidentialsorticon.innerHTML = sarrowsort_up;
            else
                dparearesidentialsorticon.innerHTML = sarrowsort_down;
            break;
        case "offerprice":
            if (ssorttype == "asc")
                dpofferpricesorticon.innerHTML = sarrowsort_up;
            else
                dpofferpricesorticon.innerHTML = sarrowsort_down;
            break;

    }


    if (pageprevious != '-1') {
        var sarrowleft = '<a href="javascript:ShowPropertyList(' + pageprevious + ',\'' + ssortelement + '\',\'' + ssorttype + '\');"><img src=\'Images/bundgrafik/pil_venstre.gif\' alt=\'\' border=\'0\' /></a>';
        spagenavigation += sarrowleft;
    }

    for (var i = 0; i < apagenumbers.length; i++) {
        var pagenumberx = apagenumbers[i];
        var spagenumberx = '';
        if (parseInt(pagenumberx) == parseInt(pagenumber)) {
            spagenumberx = '<a class="lnkpagenavselected" href="javascript:ShowPropertyList(' + pagenumberx + ',\'' + ssortelement + '\',\'' + ssorttype + '\');">' + pagenumberx + '</a>';
        }
        else {
            spagenumberx = '<a class="lnkpagenav" href="javascript:ShowPropertyList(' + pagenumberx + ',\'' + ssortelement + '\',\'' + ssorttype + '\');">' + pagenumberx + '</a>';
        }

        spagenavigation += spagenumberx;
    }

    if (pagenext != '-1') {
        var sarrowright = '<a href="javascript:ShowPropertyList(' + pagenext + ',\'' + ssortelement + '\',\'' + ssorttype + '\');"><img src=\'Images/bundgrafik/pil_hoejre.gif\' alt=\'\' border=\'0\' /></a>';
        spagenavigation += sarrowright;
    }

    dppagenavigation.innerHTML = spagenavigation;

    var dpropertylistimages = document.getElementById('dpropertylistimages');
    dpropertylistimages.innerHTML = '';

    var adatarowslen = adatarows.length;
    for (var i = 1; i < adatarowslen; i++) {

        var sdatarow = adatarows[i];
        var adatarow = sdatarow.split(sdatacolumnseparator);

        var sinfo = '';
        //sinfo = sinfotable;
        var isej = 0;
        var spropertyimagesmall = '';
        var latitude = '';
        var longitude = '';
        var longitude = '';
        var count = 0;

        latitude = parseFloat(adatarow[0]);
        longitude = parseFloat(adatarow[1]);

        var dpaddress = document.getElementById('dpaddress' + i);
        var dpzipcode = document.getElementById('dpzipcode' + i);
        var dpyearbuild = document.getElementById('dpyearbuild' + i);
        var dparearesidential = document.getElementById('dparearesidential' + i);
        var dpofferprice = document.getElementById('dpofferprice' + i);


        var spropertyurl = adatarow[13];
        var idx = -1;

        if (spropertyurl != '') {

            idx = i;

            var spropertyimagesmall = PropertyImageUrlSmall(spropertyurl);
            var sdpropertyimagesmall = '<div id=\'dpropertylistimage' + i + '\' style=\'display:none;\' class=\'dpropertylistimage\'>' + spropertyimagesmall + '</div>';
            dpropertylistimages.innerHTML += sdpropertyimagesmall;
        }


        dpaddress.innerHTML = '<a class=\'lnkproperty\' onmouseover="TogglePropertyImage(this,\'show\',' + idx + ');" onmouseout="TogglePropertyImage(this, \'hide\',' + idx + ');" href="javascript:ShowProperty(\'' + sdatarow + '\');">' + adatarow[2] + '</a>';
        dpzipcode.innerHTML = adatarow[3];
        dpyearbuild.innerHTML = adatarow[10];
        dparearesidential.innerHTML = adatarow[7];
        dpofferprice.innerHTML = adatarow[8];


    }
    //end: for (var i=0; i<adatarows.length; i++)

    var lnkshowlist = document.getElementById('lnkshowlist');
    var lnkshowmap = document.getElementById('lnkshowmap');
    var dmap_showpropertylist = document.getElementById('dmap_showpropertylist');

    lnkshowlist.style.display = "none";
    dmap_showpropertylist.style.display = "none";
    lnkshowmap.style.display = "";


    propertylistreadyforsort = 1;
}

function CloseProperty() {
    var dpropertytable = document.getElementById('dpropertytable');
    var dpropertytableproperty = document.getElementById('dpropertytableproperty');
    dpropertytable.style.display = "none";
    dpropertytableproperty.innerHTML = "";
    ismarkerwindopen = 0;
}

function TogglePropertyImage(elem, action, idx) {

    //var dpropertylistimageid = 'dpropertylistimage' + i;
    if (idx != -1) {

        var dpropertylistimageid = 'dpropertylistimage' + idx;
        var dpropertylistimage = document.getElementById(dpropertylistimageid);

        if (action == 'show') {

            var top = 0;
            var left = 0;

            top = getY(elem);
            top = top - 86;

            dpropertylistimage.style.top = top + 'px';
            dpropertylistimage.style.left = 120 + 'px';
            dpropertylistimage.style.display = '';

        }
        else {

            dpropertylistimage.style.display = 'none';

        }

    }
}


function ShowProperty(sproperty) {

    var sdatacolumnseparator = '|';

    var adatarow = sproperty.split(sdatacolumnseparator);

    var dpropertytable = document.getElementById('dpropertytable');
    var dpropertytableproperty = document.getElementById('dpropertytableproperty');

    var sinfo = PropertyTable();

    var isej;

    sinfo = sinfo.replace('[StreetName]', adatarow[2]);
    sinfo = sinfo.replace('[PostalId]', trim(adatarow[3]));
    sinfo = sinfo.replace('[City]', adatarow[4]);
    sinfo = sinfo.replace('[ItemType]', adatarow[5]);
    if (adatarow[5] == 'Ejerlejlighed')
        isej = 1;
    sinfo = sinfo.replace('[NumberOfRooms]', adatarow[6]);
    sinfo = sinfo.replace('[AreaResidential]', adatarow[7]);
    sinfo = sinfo.replace('[PaymentCash]', adatarow[8]);
    if (!isej)
        sinfo = sinfo.replace('[AreaParcel]', adatarow[9]);
    else
        sinfo = sinfo.replace('<tr><td>Grund: [AreaParcel] m&sup2;</td></tr>', '');
    sinfo = sinfo.replace('[YearBuild]', adatarow[10]);
    sinfo = sinfo.replace('[SalesPeriod]', adatarow[11]);
    if (adatarow[12] != '')
        sinfo = sinfo.replace('[PropertyLink]', adatarow[12]);
    else
        sinfo = sinfo.replace('[PropertyLink]', '#');
    if (adatarow[13] != '') {

        var spropertyimagesmall = PropertyImageUrlSmall(adatarow[13]);
        sinfo = sinfo.replace('[PictureUrl]', spropertyimagesmall);
        //quit = 1;
    }
    else
        sinfo = sinfo.replace('[PictureUrl]', '');

    dpropertytableproperty.innerHTML = sinfo;
    dpropertytable.style.display = "";
}


function ShowMap() {

    var dmap_canvas = document.getElementById('dmap_canvas');
    var dpropertylist = document.getElementById('dpropertylist');

    dmap_canvas.style.display = "";
    dpropertylist.style.display = "none";

    var lnkshowlist = document.getElementById('lnkshowlist');
    var lnkshowmap = document.getElementById('lnkshowmap');
    var dmap_showpropertylist = document.getElementById('dmap_showpropertylist');

    lnkshowlist.style.display = "";
    dmap_showpropertylist.style.display = "";
    lnkshowmap.style.display = "none";


    CloseProperty();
}

function execMovedMapLink(action) {
    var dmap_moved = document.getElementById('dmap_moved');
    dmap_moved.style.display = 'none';

    if (action == 'update')
        FormSearch();
}

function BodyLoaded() {

    alert('hep');
}

function CheckPNSearch() {

    var txtpnautosearch = document.getElementById('txtpnautosearch');

    if (txtpnautosearch.value == "1") {
        if (pnsingle == 0) {
            alert('postnummer autosearch start - antal:' + apostnummer.length);
        }

        doPNSearch(0, 1);
    }
    //end: if (txtpnautosearch.value == "1")
}


function doPNSearch(idx, pvalue) {
    var cboPropertyType = document.getElementById('cboPropertyType');
    var txtZipCode = document.getElementById('txtZipCode');

    var pn = apostnummer[idx];

    //alert('before search - idx:' + idx + '-pn:'+ pn + '-pvalue:' + pvalue); 

    cboPropertyType.value = pvalue;
    txtZipCode.value = pn;
    FormSearch();

    if (pvalue < 3) {
        pvalue = pvalue + 1
    }
    else {
        idx = idx + 1;
        pvalue = 1;
    }

    //alert('idx:' + idx + '-pvalue:' + pvalue);

    if (idx < (apostnummer.length)) {
        setTimeout('doPNSearch(' + idx + ',' + pvalue + ')', 5000);
        //doPNSearch(idx, pvalue);    
    }
    else {
        if (pnsingle == 0) {
            alert('postnummer autosearch afsluttet - antal:' + idx);
        }
    }
}

function SCCustomLinkTracking(trackevent, property1, event) {

    //alert('trackevent:'+ trackevent + '-property1:' + property1 + '-event:' + event);
    var s = s_gi(sitecatalystid);
    s.linkTrackVars = 'events,prop1';
    s.linkTrackEvents = trackevent;
    s.prop1 = property1;
    s.events = event;
    s.tl(this, 'o', 'Custom Link');

}

function ControlMap_StartUpMessage() {
    
    //Delete_Cookie('mbomapstartupmsg','/', '');
    
    var dmap_startupmessage = document.getElementById('dmap_startupmessage');
    var cookiemapstartupmessage;

    cookiemapstartupmessage = Get_Cookie('mbomapstartupmsg');

    if (cookiemapstartupmessage == null) {
        
        dmap_startupmessage.style.display = '';
    }
    else 
    {

        if (cookiemapstartupmessage == 'show') {
        
            dmap_startupmessage.style.display = '';
        }
        else
        {
            dmap_startupmessage.style.display = 'none';
        }

		Set_Cookie('mbomapstartupmsg', cookiemapstartupmessage, 30, '/', '', '');
    }
   
}

function CloseMap_StartupMessage() {

    var dmap_startupmessage = document.getElementById('dmap_startupmessage');

    var chkmap_startupmessage = document.getElementById('chkmap_startupmessage');

    var value = '';
    if (chkmap_startupmessage.checked)
        value = 'hide';
    else
        value = 'show';
    Set_Cookie('mbomapstartupmsg', value, 30, '/', '', '');

    dmap_startupmessage.style.display = 'none';
}




function OpenHelpMessage() {

    var dhelpmessage = document.getElementById('dhelpmessage');
    dhelpmessage.style.display = '';
}

function CloseHelpMessage() {

    var dhelpmessage = document.getElementById('dhelpmessage');
    dhelpmessage.style.display = 'none';
}
            








