var Land = {
    pagination: Object, 	//Json Object 	  - Used to hold the page details from the Json object
    details: Object, 	//Json Object 	  - Used to hold the lot details from the Json object
    tRecords: 0, 		//Integer 		  - This the total records for the lot requests
    offset: 0, 		//Integer   	  - Query Offset, required for the pagination to occur
    getFirst: false, 	//Boolean 		  - Used so we know if the first search query has occured. May need to be reset if the user completes another search.
	pageFirstTime: false, //Boolean		- This is being used to know if it is the absolute first time the a search has been run.
    mapFX: null, 	//Mootools Object - This is used to control the animation states of the Map Holder.
    type: 'browse', //String 		  - This is stored in a cookie "uLotSearchType" so we know what view type the user was using on their last view.
    myDetail: null,
    pageTotal: 0, 		//Integer		  - 
    onPage: 1, 		//Integer		  - 
    currentItem: 0, 		//Integer		  -
    lotIDs: -1, 		//Integer		  - Using this to pass ids around for searching.
    homeIDs: -1, 		//Integer		  - Using this to pass ids around for searching.
    movePage: false, 	//Boolean		  - Using this to see if the user is moving around via the Next/Previous;
    startStep: 0,

    initialize: function() {
        Site.setType('Land');

		Site.browseType = Land.type = 'detail';

        var mode = unescape(utils.getQuery('mode'));

        if (mode != '') {
            Site.setBrowse(mode);
            Land.type = mode;
            Cookie.set('uLotSearchType', mode, { duration: 14, path: '/' });
        }

		var lotIDs = unescape(utils.getQuery('lotIds'));
		
        //Checking to see if a Cookie exists if it does then set the initial browse state.
        if (Cookie.get('uLotSearchType', { path: '/' }) && lotIDs == '') {
            Land.type = Cookie.get('uLotSearchType', { path: '/' });
            Site.setBrowse(Land.type);
            $$('#' + Land.type + 'Search a').addClass('selected');

        }
        //Setting the intial state for the browse mode
        $$(['list_holder', 'infoListing']).addClass(Land.type);
        // $$(['list_holder', 'list_container','list_detail']).addClass(Land.type);

        //Initiating the Land Details Panel. We use the same panel across all the browse modes.
        Land.landDetail = new landDetail('infoListing', {
            dataType: '', id: 'detailHolder', mode: Land.type, width: 686, height: 483, google: true,
            fixed: true, fixTop: 119, fixLeft: -10
        });

        //Initiating the google map for the large viewable area. I think I will initiate the small one in the land class.
        Land.mainMap = new msMaps('fullMap', estateCenter, {
            custom: estateMapTiles, mapOverview: true, mapHelpers: '../js/mapControls.js', 
			mapTiles: config['baseURI'] + 'assets/estates/' + iEstate.toInt() + '/map/tiles/',
			toolTip: true
        });
        Land.detailMap = new msMaps('map', estateCenter, {
            custom: estateMapTiles, mapControl: false, mapTiles: config['baseURI'] + 'assets/estates/' + iEstate.toInt() + '/map/tiles/'
        });

        // if(Land.type == 'browse') Land.landDetail.holder.addClass('none');
        // if(Land.type != 'map') Land.landDetail.mapView.addClass('none');

		if(Site.sUser) {
			Site.sUser.callback = Land.updateState;
		}

        Land.fx = {
            list: $('list_holder').effects({ duration: 500, wait: false })
        };

        var price = unescape(utils.getQuery('price'));

        var homeIDs = unescape(utils.getQuery('homeIds'));

		Land.returnLink = $$('.newSearchButton')[0];

		if ((homeIDs != '' || lotIDs != '') && (Cookie.get('lastViewedHome', { path: '/' }))) {
			var lastViewedLot = Cookie.get('lastViewedHome', { path: '/' });
			Land.returnLink.addClass('returnToHome');
			Land.returnLink.href = '../homes/search.aspx?HomeIds=' + lastViewedLot;
			
		} 
		$$('#' + Land.type + 'Search a').addClass('selected');
        if (homeIDs != '') {
            Land.homeID(homeIDs.toInt());
            Land.lotID(unescape(utils.getQuery('lotIds')));
            Land.getList('HomeIds');
            return;
        }

        if (lotIDs != '') {
			Land.type = 'detail';
            Site.setBrowse(Land.type);
            

            Land.lotID(unescape(lotIDs));
            Land.getList('LotIds');
			return;
        }


        var iBrowseSel = false;  //new
        if (price != '') {
            Search.setMin(utils.stripChar('|', price, 0));
            Search.setMax(utils.stripChar('|', price, 1));
            iBrowseSel = true;
            //Land.reset();
            //Land.getList();
            //return;
        }

        var stage = unescape(utils.getQuery('stage'));
        if (stage != '') {
            Search.setStage(stage);
            iBrowseSel = true;
            //Land.reset();
            //Land.getList();
            //return;
        }

        var size = unescape(utils.getQuery('size'));
        if (size != '') {
            Search.setSize(size);
            iBrowseSel = true;
            //Land.reset();
            //Land.getList();
            //return;
        }
        if (iBrowseSel == true) {
            Land.reset();
            Land.getList();
            return;
        }
        Search.setMin(0);
        Search.setMax(0);
        Land.reset();
        Land.getList();


    },
    homeID: function(id) {
        Land.homeIDs = id;
    },
    lotID: function(id) {
        Land.lotIDs = id;
    },
    setDetails: function(l) {
        Land.details = l;
        return true;
    },
    setType: function(t) {
        $$('#' + Land.type + 'Search a').removeClass('selected');
        $$('#' + t + 'Search a').addClass('selected');

        // $$(['list_holder', 'list_container','list_detail']).setProperty('class','').addClass(t);
        $$(['list_holder', 'infoListing']).removeClass(Land.type).addClass(t);

        Land.landDetail.changeMode(t);

        if (Land.getFirst && t == 'browse' || Land.type == 'browse') Land.buildList();

        Land.type = Site.browseType = t;
        Cookie.set('uLotSearchType', Land.type, { duration: 14, path: '/' });

    },
    reset: function() {
        Land.currentItem = 0;
        Land.offset = 0;
        Land.onPage = 1;
        $('prevItemLink').addClass('none');
        Land.getFirst = false;
    },
    listURI: function(type) {
        var URI = config['baseURI'] + config['LandReturn'];
        var string = '';

		if(Search.returntolast 
			&& Land.homeIDs != '-1' 
			&& type != 'HomeIds') 
		{
			//string += 'homeIds=' + Land.homeIDs
			type = 'HomeIds';
		}

        switch (type) {
            case 'newPage':
                string = URI + '?pageSize=' + config['pageSize'] + '&Offset=' + Land.offset + '&RecordCount=' + Land.tRecords + '&MinPrice=' + Search.minPrice + '&MaxPrice=' + Search.maxPrice+ '&Stage=' + Search.stage + '&SizeRange=' + Search.sizeRange;
                break;
            case 'showAll':
                string = URI + '?ShowInActive=true';
                break;
            case 'LotIds':
                string = URI + '?lotIds=' + Land.lotIDs + '&pageSize=' + config['pageSize'];
                break;
            case 'HomeIds':
                string = URI + '?homeIds=' + Land.homeIDs + '&lotIds=' + Land.lotIDs + '&pageSize=' + config['pageSize'];
                break;
            case 'quick':
                string = URI + '?pageSize=' + config['pageSize'] + '&Offset=0&MinPrice=' + Search.minPrice + '&MaxPrice=' + Search.maxPrice;
                break;
            default:
                string = URI + '?pageSize=' + config['pageSize'] + '&Offset=0&MinPrice=' + Search.minPrice + '&MaxPrice=' + Search.maxPrice + '&Stage=' + Search.stage + '&SizeRange=' + Search.sizeRange;
        }
		if(Search.returntolast 
			&& Land.homeIDs != '-1' 
			&& type == 'HomeIds') 
		{
			string += '&Offset=' + Land.offset
		}
		
        string += '&e=' + new Date().getTime();
        return string;
    },
    getList: function(list) {
        // Land.getFirst = false;		
        URI = Land.listURI(list);
        movePage = (list == 'newPage') ? true : false;
        var request = new Json.Remote(URI, {
            method: 'get',
            onComplete: function(jsonObj) {
                Land.setDetails(jsonObj.root.NewDataSet.LotsJsonObject);
                Land.pageNav(jsonObj.root.NewDataSet.LotsNav);
                Land.buildList();
            }
        }).send();
    },
    buildList: function() {
        if ($('landSearch').hasClass('loading')) $('landSearch').removeClass('loading');

        if (Land.tRecords == 0) {
            if (!$('errormsg')) {
                var errormsg = new Element('div', { 'id': 'errormsg' }).injectTop('landSearch');
			
			    new Element('h3').setHTML('Sorry No results for your search').injectInside($('errormsg'));
			}
			//Hide the holders so that the screen does not look broken.
			$$('#list_holder', '#infoListing', '#pageNav_top', '#itemNav').addClass('none');
            return;
        } else {
			if ($('errormsg')) $('errormsg').remove();
			$$('#list_holder', '#infoListing', '#pageNav_top').removeClass('none');
		}
        var listHolder = $('list_detail').empty();

        Land.fx.list.set({ opacity: 0 });
        if (Land.type == 'detail') $('list_detail').setStyle('left', 0);

        if (Land.mainMap) Land.mainMap.removeMarkers();

        Land.lotData = Land.creatMapData(Land.details);

       	$('itemNav').addClass('none');

        if (Land.details.length) {
            Land.details.each(function(lot, i) {
                switch (Land.landDetail.options.mode) {
                    case 'browse':
                        try { Land.browseListItem(lot, i).injectInside(listHolder); }
                        catch (err) { }
                        break;
                    case 'detail': case 'map':
                        try { Land.detailListItem(lot, i).injectInside(listHolder); }
                        catch (err) { }
                        break;
                }

                if (i == Land.currentItem && Site.sUser) {
                    Site.sUser.showAgent(7);
                    if (Site.sUser.regProcess != 2) {
                        if (lot.iRegistered.toInt() != 1) Site.sUser.updateRegister(3, lot.LOT_nId, lot.LOT_strName, { estateName: EstateName });
                        else Site.sUser.updateRegister(7, iEstate, EstateName);
                    };
                }
                if (i == Land.startStep && Land.landDetail.options.mode == 'detail' || i == Land.startStep && Land.landDetail.options.mode == 'map') {
                    Land.landDetail.updateDetail(Land.details[Land.currentItem], Land.currentItem);
					
					//setting a cookie for the last viewed.
					Cookie.set('lastViewedLot', Land.details[Land.currentItem].LOT_nId.toInt(), { duration: 0, path: '/' });
					
                }
            });
            if (Land.landDetail.options.mode != 'browse') $('itemNav').removeClass('none');
        } else {
            switch (Land.landDetail.options.mode) {
                case 'browse': Land.browseListItem(Land.details, 0).injectInside(listHolder); break;
                case 'detail': case 'map':
					Land.detailListItem(Land.details, 0).injectInside(listHolder); 
					Land.landDetail.updateDetail(Land.details, 0);
					Cookie.set('lastViewedLot', Land.details.LOT_nId.toInt(), { duration: 0, path: '/' });
					break;
            }
            if (Site.sUser) {
               	Site.sUser.showAgent(7);
                if (Site.sUser.regProcess != 2) {
                    if (Land.details.iRegistered.toInt() != 1) Site.sUser.updateRegister(3, Land.details.LOT_nId, Land.details.LOT_strName);
                    else Site.sUser.updateRegister(7, iEstate, EstateName);
                };
            }
        }
        
		if(Land.mainMap) {
			//Creating Marker for Main Map view.
			Land.mainMap.createMarker(Land.lotData);
		}
		if (Land.type == 'map' && Land.mainMap) {
			//Setting Default Zoom Level if none has been set.
			var zoomLevel = 12;
			if(estateMapTiles) {
				//Getting first zoom level from estateConfig.js from estateMapTiles Array.
				var zoomLevel = estateMapTiles[0]['zoom'][0];
			}
			//Centering the Mainmap onto the first pin on the Map
            Land.mainMap.moveMap([Land.lotData[Land.currentItem]['posn'][0], Land.lotData[Land.currentItem]['posn'][1]], zoomLevel);
        }
        if (Land.type == 'detail' && Land.detailMap) {
			//Creating Marker for Detail Map view.
			Land.detailMap.createMarker(Land.lotData[Land.currentItem]);
			//Centering the detailMap onto the pin on the Map
            Land.detailMap.moveMap([Land.lotData[Land.currentItem]['posn'][0], Land.lotData[Land.currentItem]['posn'][1]], 17);
        }

        if (Land.landDetail.options.mode == 'detail') $('list_detail').addClass('detail');
        else $('list_detail').removeClass('detail');

        if (Land.landDetail.options.mode == 'browse') {
            var nexPrevTips = new Tips($$('ul.browse .packaged .add a'), {
                className: 'detailLabel',
                offsets: { 'x': -65, 'y': -75 }, fixed: true
            });
        }

        Land.fx.list.start({ opacity: 1 });

		if(Land.returnLink.hasClass('returnToHome')  && !Search.returntolast){
			Land.returnLink.removeClass('returnToHome');
			Land.returnLink.href = 'default.aspx';
			Cookie.remove('lastViewedHome', { path: '/' });
		}
		
        Land.getFirst = Land.pageFirstTime = true;
		
		//Setting the last marker so it is known for the Map Class.
		if(Land.mainMap.markers) {
			lastMarker = Land.mainMap.markers[0];
		}

    },
    browseListItem: function(obj, i) {
        holder = new Element('li', { 'id': 'item_' + obj.LOT_nId }).addClass('holder');

        if (obj.iViewed == "1") { holder.addClass('viewed'); }
        if (obj.iSaved == "1") { holder.addClass('saved'); }
        if (obj.iRegistered == "1") { holder.addClass('registered'); }
        if (obj.iIsInPackage == "1" && obj.iRegistered != "1") { holder.addClass('packaged'); }

        if (i == Land.currentItem) holder.addClass('current');

        container = new Element('ul').injectInside(holder);
        lne1 = new Element('li', { 'id': 'lot_' + obj.LOT_nId }).addClass('details').injectInside(container);
        lne1a = new Element('ul').injectInside(lne1);


        lne1b = new Element('li').addClass('name').setHTML(obj.LOT_strName).injectInside(lne1a);
        lne1c = new Element('li').addClass('price').setHTML(obj.LOT_mPrice).injectInside(lne1a);

        lne2 = new Element('li').addClass('image').injectAfter(lne1);

        var lot_status = obj.SLST_strName.contains(' ') ? utils.cleanString(' ', obj.SLST_strName).toLowerCase() : obj.SLST_strName.toLowerCase();

        new Element('div').addClass('status left').setHTML(obj.STG_strName).injectInside(lne2);

        lne2_status = new Element('div').addClass(lot_status + ' status right').injectInside(lne2);

        lne2a = new Element('img').injectInside(lne2);
        if (config.AssetVersion == '1') {
            lne2a.setProperty('src', config['baseURI'] + 'Utilities/GenerateImage.aspx?path=../Assets/LOTs/' + obj.LOT_nId + '/' + obj.ALOT_strFileName + '&w=178&h=96&mode=resizefit');
        }
        else {
            lne2a.setProperty('src', config['baseURI'] + 'Utilities/GenerateImage.aspx?path=' + obj.location + '&w=178&h=96&mode=resizefit');
        }

        lne2.addEvents({
            'click': function() {
                Land.openDetails(obj, i);
            },
            mouseenter: function() { $$('#item' + i + ' li.image').addClass('hover'); },
            mouseleave: function() { $$('#item' + i + ' li.image').removeClass('hover'); }
        });

        lne3 = new Element('li').addClass('controls').injectAfter(lne2);
        lne3a = new Element('ul').injectInside(lne3);
        lne3b = new Element('li').addClass('add').injectInside(lne3a);

        if (lot_status != 'sold') {
            if (obj.iRegistered == "1") {
                lne3b_1 = new Element('a').setHTML('Registered').injectInside(lne3b);
            } else {
                lne3b_1 = new Element('a', { 'href': 'javascript:void(0)', 'id': 'control_' + obj.LOT_nId }).setHTML('Save').injectInside(lne3b);
                if (myList.list != null && myList.list.LandIds.contains(obj.LOT_nId.toInt()) == true) {
                    if (obj.iIsInPackage == "1") {
                        lne3b_1.setHTML('Saved').addClass('packaged').setProperty('title', 'Can\'t delete::Is currently packaged');
                        lne3b_1.onclick = 'return false;';
                    } else {
                        lne3b_1.setHTML('Saved').onclick = function() {
                            mySelection.Delete('LotIds', this.LOT_nId.toInt(), this.LOT_strName);
                        } .bind(obj);
                    }
                } else {
                    lne3b_1.onclick = function() {
                        mySelection.save(this.LOT_nId.toInt(), this.LOT_strName);
                    } .bind(obj);
                }
            }
        } else {
            lne3b.setHTML('&nbsp;');
        }

        lne3c = new Element('li').addClass('stage').injectAfter(lne3b);

        lne3d = new Element('li').addClass('more').injectInside(lne3a);
        lne3d_1 = new Element('a', { 'href': 'javascript:void(0)', 'id': 'detail_' + obj.LOT_nId }).setHTML('Detail').injectInside(lne3d);

        lne3d_1.addEvents({
            'click': function() {
                Land.openDetails(obj, i);
            },
            mouseenter: function() { $$('#item' + i + ' li.image').addClass('hover'); },
            mouseleave: function() { $$('#item' + i + ' li.image').removeClass('hover'); }
        });

        return holder;
    },
    detailListItem: function(obj, i) {

        holder = new Element('li', { 'id': 'item_' + obj.LOT_nId.toInt() }).addClass('holder').addClass(utils.cleanString(' ', obj.SLST_strName.toLowerCase()));

        if (obj.iViewed == "1") { holder.addClass('viewed'); }
        if (obj.iSaved == "1") { holder.addClass('saved'); }
        if (obj.iRegistered == "1") { holder.addClass('registered'); }

        if (i == Land.currentItem) holder.addClass('current');

        if (myList.list != null && myList.list.LandIds.contains(obj.LOT_nId.toInt()) == true) holder.addClass('saved');

        container = new Element('ul').injectInside(holder);
        // 
        lne1 = new Element('li', { 'id': 'lot_' + obj.LOT_nId }).addClass('name').setHTML(obj.LOT_strName).injectInside(container);
        container.addEvent('click', function() {
            Land.openDetails(obj, i);
        });
        lne2 = new Element('li').addClass('price').setHTML(obj.LOT_mPrice).injectInside(container);
        // 
        var gap = 0;
        var wid = 71;
        var leftPos = (wid * i) + (gap * i);
        // 
        holder.setStyle('left', leftPos);

        return holder;
    },
    openDetails: function(obj, i) {
        Land.highlightCurrent(obj.LOT_nId.toInt());
        Land.landDetail.updateDetail(obj, i);

		
		
        if (Land.type == 'detail' && Land.detailMap) {
            Land.detailMap.createMarker(Land.lotData[i]);
            Land.detailMap.moveMap([Land.lotData[i]['posn'][0], Land.lotData[i]['posn'][1]], 17);
        }
        if (Land.type == 'map' && Land.mainMap) {
            window.changeDetail(Land.mainMap.markers[i], i);
            Land.mainMap.moveMap([Land.lotData[i]['posn'][0], Land.lotData[i]['posn'][1]], 17);
        }
        if (Land.type == 'browse' && Land.detailMap) {
            Land.detailMap.createMarker(Land.lotData[i]);
            Land.detailMap.moveMap([Land.lotData[i]['posn'][0], Land.lotData[i]['posn'][1]], 17);
        }
        if (Site.browseType != 'browse') {
            $$(['itemNav', 'prevItemLink', 'nextItemLink']).removeClass('none');
            if (Land.onPage == 1 && Land.currentItem == 0) { $('prevItemLink').addClass('none'); }
            else if (Land.onPage == Land.paging.numPages() && Land.currentItem == (Land.details.length - 1)) { $('nextItemLink').addClass('none'); }
        }

		//setting a cookie for the last viewed.
		Cookie.set('lastViewedLot', obj.LOT_nId.toInt(), { duration: 0, path: '/' });
		
    },
    highlightCurrent: function(id) {
        $$('li.holder').removeClass('current');
        if (!$('item_' + id).hasClass('viewed')) $('item_' + id).addClass('viewed');
        $('item_' + id).addClass('current');
    },
    pageNav: function(tObject) {
        Land.tRecords = tObject.Total.toInt();
        config['pageSize'] = tObject.PageSize.toInt();
        Land.offset = tObject.Offset.toInt();

        var staggered = false;

        //Working out the number of pages.
        if (Land.getFirst != true) {
            $$('.pageLinks').empty();
            Land.pageTotal = Math.ceil(Land.tRecords / config['pageSize']);

            Land.paging = new pagination('pageNav_top', tObject.Total.toInt(), {
                num_edge_entries: 2,
                num_display_entries: 4,
                bottom_nav_holder: 'pageNav_bottom',
                bottom_nav: true,
                onChange: Land.changePage.bind()
            });

            if (Land.pageTotal > 1) {
                Land.getFirst = true;
            } else {
                $$('.pageLinks').empty();
                Land.paging.maxentries = 1;
            }
        }
        utils.activateToolTip('.toolTip');
    },
    changePage: function(offset, page, pPage) {

        Land.onPage = page;
        Land.offset = offset;

        if (page > 1) { $$('ul#itemNav li a').removeClass('none'); }
        else if (page == 1) { $('prevItemLink').addClass('none'); }

        if (!pPage) {
            Land.startStep = Land.currentItem = 0;
        } else {
            $('prevItemLink').removeClass('none');
        }

        //Starts from position 0 when the new list loads
		if(Land.mainMap.markers) {
			lastMarker = null;
		}

        Land.getList('newPage');
        if (Land.paging) {
            Land.paging.drawLinks();
        }

    },
    prevPage: function() {
        Land.paging.current_page = Land.paging.current_page - 1;
        Land.startStep = Land.currentItem = config['pageSize'] - 1;

        Land.changePage(
			(Land.onPage - 2) * config['pageSize'],
			Land.onPage - 1,
			true
		);
    },
    nextPage: function() {
        Land.paging.current_page = Land.paging.current_page + 1;

        Land.changePage(
			Land.onPage * config['pageSize'],
			Land.onPage + 1
		);
    },
    prevItem: function() {
        if (Land.currentItem > 0) {
            Land.currentItem = Land.currentItem - 1;
            Land.openDetails(Land.details[Land.currentItem], Land.currentItem);
        } else if (Land.onPage > 1) {
            Land.currentItem = config['pageSize'] - 1;
            Land.prevPage();
        }
        if (Land.currentItem >= 0) {
            $('nextItemLink').removeClass('none');
        }
        if (Land.onPage == 1 && Land.currentItem == 0) $('prevItemLink').addClass('none');
    },
    nextItem: function() {
        if (Land.currentItem + 1 < Land.details.length) {
            Land.currentItem = Land.currentItem + 1;
            Land.openDetails(Land.details[Land.currentItem], Land.currentItem);
        } else if (Land.onPage != Land.paging.numPages()) {
            Land.currentItem = 0;
            Land.nextPage();
        }
        if (Land.currentItem + 1 == Land.details.length) {
            if (Land.onPage != Land.paging.numPages()) $('nextItemLink').setHTML('Next');
            else $('nextItemLink').addClass('none');
        } else {
            $('nextItemLink').setHTML('Next');
            if ($('prevItemLink').hasClass('none')) $('prevItemLink').removeClass('none');
            $('prevItemLink').setHTML('Prev');
        }
    },
    updateState: function(action, obj) {
		// alert(Json.toString(obj));
		
        switch (action) {
            case 'saveregistered':
                myList.addToList(obj['primKey'], obj['itemName']);
            case 'registered':
                Land.details[Land.currentItem]['iRegistered'] = 1;
                $('item_' + obj['primKey']).addClass('registered');
                // if(Land.type == 'detail' || Land.type == 'map') {
                $$('li.controls a.interest').addClass('registered');
                // }
                break;
        }
    },
    creatMapData: function(objects) {
        var tmp = [];
        if (objects.length) {
            objects.each(function(obj,i) {
                if (obj.iRegistered.toInt() == 1) 	itemStatus = 'registered';
                else if(i == 0)		  				itemStatus = 'current'; 
				else								itemStatus = obj.SLST_strName; 
               tmp.push('{ name: "' + obj.LOT_strName + '", status: "' + itemStatus + '", posn: [' + obj.Lot_dLatitude + ', ' + obj.Lot_dLongitude + '], id:' + obj.LOT_nId.toInt() + ' }');
            });

        } else {
            tmp.push('{ name: "' + objects.LOT_strName + '", status: "' + objects.SLST_strName + '", posn: [' + objects.Lot_dLatitude + ', ' + objects.Lot_dLongitude + '], id:' + objects.LOT_nId.toInt() + '}');
        }
        return Json.evaluate('[' + tmp.join(',') + ']');
    },
    holderHeight: function(hold) {
        var cell = $$('li.holder').getSize()[0].scrollSize;
        var table = $(hold).getSize().scrollSize;

        var td = Math.floor(table.x / cell.x);

        var tr = Math.ceil(Land.details.length / td);

        var height = tr * (cell.y + 20);

        return height;
    }
};
