﻿var geocoder = null;
var map = null;
var myTabs1 = null;
var bbox = null;
var mrkDB = [];
var inwindow = new google.maps.InfoWindow();



function colTabs(coll) {
    if (coll)
        $j('#mapPanel').addClass('tabCollapse');
    else
        $j('#mapPanel').removeClass('tabCollapse');
}

function initAgentPage(alat, alon,zoom) {
    $j('#tabsContainer > ul').tabs();    
    var myLatlng = new google.maps.LatLng(alat,alon);
    var myOptions = {
        zoom: zoom,
        center: myLatlng,
        disableDefaultUI: false,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    geocoder = new google.maps.Geocoder();
    var infowindow = new google.maps.InfoWindow({
        content: $j('#agentDetailsContainer').html()
    });
    var listener = google.maps.event.addListener(map, 'bounds_changed', function() {
        setupMarkers();
        google.maps.event.removeListener(listener);
    });
    initMapPanel();
}

function elst(lid) {    
    var requestURL = "/l/";
    jQuery.ajax({
        type: "POST",
        url: requestURL,
        dataType: 'json',
        data: "r=json&lId=" + lid,
        error: function(msg) { /*prompt*/ },
        success: function(lstj) {
            addListing(lstj);
        }
    });    
}

function initDPicker() {
    $j("input.datePicker").datepicker({dateFormat:'dd/mm/yy'});        
}

function getREIcon(cat) {    
    var iconImage = new google.maps.MarkerImage('/images/nz/icons/i'+ cat +'.png', //8_0
        new google.maps.Size(16, 18),
        new google.maps.Point(0, 0),
        new google.maps.Point(8, 18),
        new google.maps.Size(16, 18));

    var iconShadow = new google.maps.MarkerImage('/images/nz/icons/s' + cat + '.png',
        new google.maps.Size(16, 18),
        new google.maps.Point(0, 0),
        new google.maps.Point(0, 18),
        new google.maps.Size(16, 18)); 
    var iconShape = {
        coord: [1, 1, 1, 16, 18, 16, 18, 1],
        type: 'poly'
    };
    var mIcon = {
        icon: iconImage,
        shadow: iconShadow,
        shape: iconShape
    };
    return mIcon;
}

function addeREMarkers(mgr,cat) {    
    var requestURL = "/webservices/GetMarkers.asmx/GetMarkersForBox";
    var data = 'bbox=' + map.getBounds() + '&layers=' + "layer_8_0"/*getActiveLayers()*/ + '&zoom=' + map.getZoom();
    $j.post(requestURL, {
        bbox: map.getBounds().toString(),
        layers: "layer_8_0",
        zoom: map.getZoom().toString()
    },
    function (response) {
        var responseJson = eval($j(response).text());
        var batch = [];
        var tmpIcon = getREIcon(cat);
        for (var i = 0; i < responseJson.length; ++i) {
            var current = new google.maps.Marker({
                position: new google.maps.LatLng(responseJson[i].lat, responseJson[i].lon),
                shadow: tmpIcon.shadow,
                icon: tmpIcon.icon,
                shape: tmpIcon.shape,
                title: responseJson[i].name
            })
            google.maps.event.addListener(current, 'click', function () {
                var infowindow = new google.maps.InfoWindow({
                    content: "<span class='voippie' ><span class='countryFlag round-left'><img src='http://voip.ras.net.nz/images/icn/flags/nz.png' alt='NZ' /></span><input type='text' value='talk to us now' title='Search' accesskey='/' style='height:28px;'/><span title='Call Me Now!' class='submit round-right call_submit'>&nbsp;</span></span>"
                });
                infowindow.open(map, this);
                initVCtrl(); //enable vo on bubble
            });
            mgr.addMarkers([current], 13);
        }
        addGMarker(mgr);
    }, "xml");
    return true;
}

function addGMarker(mgr) {
    if (typeof $j('#pBble').attr('rel') == 'undefined') return;

    var gpos = $j('#pBble').attr('rel').split(',');
    
    var tmpIcon = getREIcon("8_0");
    var current = new google.maps.Marker({
        position: new google.maps.LatLng(gpos[0], gpos[1]),
        shadow: tmpIcon.shadow,
        icon: tmpIcon.icon,
        shape: tmpIcon.shape,
        title: "quess"
    })
    google.maps.event.addListener(current, 'click', function () {
        var infowindow = new google.maps.InfoWindow({
            content: $j('#pBble').html()
        });
        infowindow.open(map, this);        
    });
    mgr.addMarkers([current], 1);

    map.panTo(current.getPosition());
    var infowindow = new google.maps.InfoWindow({
        content: $j('#pBble').html()
    });
    infowindow.open(map, current);
    //alert($j('#pBble').html()); // mgr.addMarkers([current], 13);
}

function addMarkers(mrks,mgr,cat) {
    var tmpIcon = getREIcon(cat);
    var markerBounds = new google.maps.LatLngBounds();       
    for (i = 0; i < mrks.length; i++) {        
        var current = new google.maps.Marker({
            position: new google.maps.LatLng(mrks[i].lt, mrks[i].ln),
            shadow: tmpIcon.shadow,
            icon: tmpIcon.icon,
            shape: tmpIcon.shape,
            title: mrks[i].tl,
            mid: "l_" + mrks[i].id
        })
        mrkDB.push(current);

        if(document.getElementById("lstlnk_" + mrks[i].id) != null)
            google.maps.event.addDomListener(document.getElementById("lstlnk_" + mrks[i].id), "click", function (ev) {
                var lid = this.id.split('_')[1];
                for (var i = 0; i < mrkDB.length; i++)
                    if (mrkDB[i].mid == "l_" + lid) {
                        //map.panTo(mrkDB[i].getPosition());
                        $j.ajax({
                            url: "/l/" + lid + "?r=html",
                            context: mrkDB[i],
                            success: function (data) {
                                //inwindow.close()
                                //inwindow.setContent(data);
                                //inwindow.open(map, this);
                                //colTabs(true);
                                $j('#foundItem').html(data);
                                $j('#tabsContainer').tabs('select', 1);
                                colTabs(false);
                            }
                        });
                    }  
                $j('#lstId').val(lid);
            });
            google.maps.event.addListener(current, 'click', function () {
                var surl = "/" + this.mid.split('_')[0] + "/" + this.mid.split('_')[1];
                $j.ajax({
                    url: surl + "?r=html",
                    context: this,
                    success: function (data) {
                        $j('#foundItem').html(data);
                        $j('#tabsContainer').tabs('select', 1);
                        colTabs(false);
                    }
                });
            });
        markerBounds.extend(new google.maps.LatLng(mrks[i].lt, mrks[i].ln));
        mgr.addMarkers([current], 7);
    }
    return markerBounds;
}

function popm(mid) {    
    var match = false;
    for (var i = 0; i < mrkDB.length; i++)
        if (mrkDB[i].mid == mid) {
            map.panTo(mrkDB[i].getPosition());            
            inwindow.close()
            inwindow.setContent($j('#listingPanel').html());
            inwindow.open(map, mrkDB[i]);                      
            match = false;
        }        
}


function setupMarkers() {
    mgr = new MarkerManager(map);
    google.maps.event.addListener(mgr, 'loaded', function () {
        if (aParams.lst != null)
            bbox = addMarkers(aParams.lst, mgr, "6_0");
        else
            return;
        map.fitBounds(bbox);
        if (typeof smid != 'undefined' && smid != null)
            popm(smid);
        else
            map.setCenter(bbox.getCenter());
        if (aParams.lst.length < 2) map.setZoom(12);//no bounds needed
        addeREMarkers(mgr, "8_0");
        mgr.refresh();
    });
}

function updateAgent() {
    $j.post("/webservices/UpdateAgent.asmx/Update", {
        aName: $j('#aName').val(),
        aLon: $j('#aLon').val(),
        aLat: $j('#aLat').val(),
        aEmail: $j('#aEmail').val(),
        aMobile: $j('#aMobile').val(),
        aLandline: $j('#aLine').val(),
        aOCode: $j('#companySelector').val(),
        aURL: $j('#aUrl').val()
    },
        function(data) {
            var inserted = $j(data).find('agentUpdate');
            if (inserted.attr('success') == "true") {
                window.location = window.location;
            } else {
                alert("failed");
            }
        }, "xml");
    return false;
}

function initMapPanel() {        
    var dd = {"countries":[
        {'name': 'New Zealand', code : 'NZ', zoom : 5,states :[{name: 'North Island', code:'NI',regions:[{name:'(Pahia)Bay Of Islands',code:'BOI'},{name:'Auckland',code:'AKL'},{name:'Coromandel Town',code:'CMT'}, {name:'Whitianga',code:'WHT'},{name:'Rotorua',code:'ROT'},{name:'Taupo',code:'TAU'},{name:'Tauranga(Mt.Mauinganui)',code:'TRG'},{name:'Taranaki',code:'TAR'},{name:'Wellington',code:'WLG'}]}, {name: 'South Island', code:'SI', regions:[{name: 'Nelson', code:'NLS'}, {name: 'West Coast', code:'WCN'},  {name: 'Queenstown', code:'ZQN'},{name: 'Christchurch', code:'CHC'}]}]},
        {'name': 'Australia',  code : 'AU', zoom : 4,
            states: [
            {name: 'New South Wales', code : 'NSW', regions :[{name:'Sydney', code:'SYD'},{name:'Byron Bay', code:'BRB'}]}, 
            {name: 'Victoria', code :'VIC', regions :[{name:'Melbourne',code:'MEL'}]}, 
            {name : 'Western Australia', code :'WA', regions :[{name:'Perth',code:'PER'}]},
            {name : 'Tasmania', code :'TAS', regions :[{name:'Hobart', code:'HBA'}]},
            {name : 'Queensland', code :'QLD', regions :[{name:'Cairns', code:'CNS'},{name:'Sunshine Coast', code:'SNC'},{name:'Brisbane', code:'BNE'},{name:'Gold Coast', code:'GLD'}]},
            {name : 'South Australia', code :'SA', regions :[{name:'Adelaide', code:'ADL'}]},
            {name : 'Northern Territory', code:'NT', regions:[{name:'Darwin',code:'DRW'},{name:'Alice Springs',code:'ASP'}]}]}
    ]};
    var dParams = eval({ dd: 'NZ:NI:AKL', ll: '1_0:Acc,2_0:Act,3_0:Trans,4_0:Food,9_0:Data Centres' });
    initDDowns(dd, $j('#countrySelect'), $j('#stateSelect'), $j('#regionSelect'), dParams.dd);                
    $j("#minimise").click(function(e) {
        $j("#mapPanel").toggleClass('min');
        e.stopImmediatePropagation();
        return false;
    });                
    $j("#freeSearch").click(function(e) {
        clearRequiredMsg();
    });
    $j(".ui-tabs-nav li a").click(function(event) {
        $j("#mapPanel").removeClass('min');
    });
}

function initDDowns(dd, countryDD1, stateDD1, regionDD1, initParamsStr) {
    var initParams = initParamsStr.split(':');
    userCC = initParams[0];
    userSC = initParams[1];
    userRC = initParams[2];    
    countryDD = countryDD1;
    stateDD = stateDD1;
    regionDD = regionDD1;    
    var options = "";
    jQuery.each(dd.countries, function(i){      
        var el = this;
		if (el.code == userCC) 
            country = el;
        options += "<option " + (el.code == userCC ? "selected='selected'" : "") + " value='" + el.code + "'>" + el.name + "</option>";
    });
    countryDD.html(options);    
    options = "";
    jQuery.each(country.states, function(i){
        var el = this;
		if (el.code == userSC) 
            state = el;
        options += "<option " + (el.code == userSC ? "selected='selected'" : "") + " value='" + el.code + "'>" + el.name + "</option>";
    });   
    stateDD.html(options);    
    options = "";
    jQuery.each(state.regions,function(i){
        var el = this;
		if (el.code == userRC) 
            region = el;
        options += "<option " + (el.code == userRC ? "selected='selected'" : "") + " value='" + el.code + "'>" + el.name + "</option>";
    });   
    regionDD.html(options);
    countryDD.bind('change', function () {
        clearRequiredMsg();
        var selectedCC = $j("OPTION:selected", this).val();
        var options = "<option selected='selected' value='-1'>" + "Please Select One" + "</option>";
        jQuery.each(dd.countries, function (i) {
            var el = this;
            if (el.code == selectedCC) {
                country = el;
                jQuery.each(country.states, function (i) { //build state dd               
                    var el = this;
                    options += "<option " + " value='" + el.code + "'>" + el.name + "</option>";
                });
            }
        });
        stateDD.html(options);
        regionDD.html("<option selected='selected' value='-1'>Please Select One</option>");
        regionDD.attr('disabled', true);
        addressStr = country.name;
        //consider init geocoding: geoCode(addressStr, country.zoom ); 
    });
    
    stateDD.bind('change', function() { //Swap Region on State
        clearRequiredMsg();
        var selectedSC = $j("OPTION:selected", this).val();
        var state;
		var options = "<option selected='selected' value='-1'>" + "Please Select One" + "</option>";;
        jQuery.each(country.states, function(i){
			var el = this;      
            if (el.code == selectedSC) { 
                state = el;              
                jQuery.each(state.regions, function(i){ //build state dd                  
                    var el = this;
					options += "<option " + /*(el.code == userSC ? "selected='selected'" : "") +*/ " value='" + el.code + "'>" + el.name + "</option>";
                });                  
            }
        });
        regionDD.html(options);
        if($j("OPTION", regionDD).length == 1 )
            regionDD.attr('disabled', true);
        else
            regionDD.attr('disabled', false);
        addressStr = state.name+ "," + country.name ;//todo: zoom states
        geoCode(addressStr, 6) //todo: create addr str and invoke   
    });
	
	regionDD.bind('change', function() { //Swap Region on State
        clearRequiredMsg()
        var selectedRC = $j("OPTION:selected", this);
        addressStr = selectedRC.text() + ","+ $j("OPTION:selected", stateDD).text() + "," + $j("OPTION:selected", countryDD).text() ;//todo: zoom states
        geoCode(addressStr, 10) //todo: create addr str and invoke   
    });   
    
    $j('#freeSearch').bind('click', function() {
        $j(this).val();
        clearRequiredMsg();
    });
    
    //jump to default
    var selectedCT = $j("OPTION:selected", countryDD).text();
    var selectedST = $j("OPTION:selected", stateDD).text();
    var selectedRT = $j("OPTION:selected",  regionDD).text();
    var addressStr = selectedRT + "," + selectedST + "," + selectedCT;
    geoCode(addressStr, 10) //todo: create addr str and invoke    
}


var zoomValue;

function geoCode(addressValue, zoom) {//todo: zoom support pass targets
    addressValue = addressValue.replace(/Please Select One,/, '');
    zoomValue = zoom;
    geocoder.geocode({ address: addressValue }, function (results, status) {
        if (results == null || results[0] == null) return; //TODO:prompt
        map.setCenter(new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng()));
        map.setZoom(zoom);
        if($j('#lstLng') !=null && $j('#lstLat') != null) { 
            $j('#lstLng').val(results[0].geometry.location.lng()) 
            $j('#lstLat').val(results[0].geometry.location.lat())
        }

    });
}

var geoCoderLatCtrl = null;
var geoCoderLonCtrl = null;

function moveMap(response) {
    if (response.Status.code == '602') {
        promptField($j('#freeSearch'), 'Sorry no match..');
        return false;
    }
    try {
        place = response.Placemark[0];
        var exData = response.Placemark[0].ExtendedData;
        var bounds = exData ? exData.LatLonBox : undefined;
        point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
        if (bounds) {
            var llbounds = new GLatLngBounds(
                    new GLatLng(bounds.south, bounds.west),
                    new GLatLng(bounds.north, bounds.east));
            map.setCenter(point, map.getBoundsZoomLevel(llbounds));
        } else {
            map.setCenter(point, zoomValue);
        }
    }
    catch (e) {
        promptField($j('#freeSearch'), 'Sory no match..');
    }
}

function freeSearch() {
    var includeState = ($j("OPTION:selected", "#stateSelect").val() != '-1');
    var includeRegion = ($j("OPTION:selected", "#regionSelect").val() != '-1');
    var searchStr = $j("OPTION:selected", "#countrySelect").text() + (includeState ? "," + $j("OPTION:selected", "#stateSelect").text() : "") + (includeRegion ? "," + $j("OPTION:selected", "#regionSelect").text() : '') + "," + $j("#freeSearch").val();
    geoCode(searchStr, 14); //TODO: zoom    
}

//validation
function promptField(fieldElm, text) {
    var offsetx = 20, offsety = 20;
    var top = fieldElm.position().top;
    var left = fieldElm.position().left;
    var width = fieldElm.width();
    var height = fieldElm.height();
    fieldElm.addClass("required");
    var styleStr = "top:" + top + "px; left:" + (left + width + offsetx) + "px;height:" + (height + 5) + "px;"; //todo:height from config
    $j("<div class='requiredMsg' style='" + styleStr + "'><span class='arrow' style='width:10px;height:" + (height + 5) + "px;'></span><span class='text' style='height:" + (height + 3) + "px;'>" + text + "</span></div>").appendTo('#mapPanel');
}

function clearRequiredMsg() {
    $j('.requiredMsg').remove();
    $j('.required').removeClass('required');
}

function setLoader(enable) {
    if (enable)
        $('ajaxLoader').addClass('Enabled');
    else
        $('ajaxLoader').removeClass('Enabled');
}

function initMPage(alat, alon, zoom) {
    
    $j('#tabsContainer').tabs({ select: function (event, ui) { colTabs(false); } });
    var myLatlng = new google.maps.LatLng(alat, alon);
    var myOptions = {
        zoom: zoom,
        center: myLatlng,
        zoomControl: true,
        streetViewControl: true,
        panControl: false,
        zoomControlOptions: {
            style: google.maps.ZoomControlStyle.SMALL
        },
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    $j('ul.ui-tabs-nav li a').click(function() { colTabs(false); });
    
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    geocoder = new google.maps.Geocoder();
    var infowindow = new google.maps.InfoWindow({
        content: $j('#agentDetailsContainer').html()
    });
    var listener = google.maps.event.addListener(map, 'bounds_changed', function() {
        setupMarkers();
        google.maps.event.removeListener(listener);
    });


    google.maps.event.addListener(map, 'click', function () { colTabs(true); });
    $j('#tabsContainer').click(function () { colTabs(false); });

    initMapPanel();

    $j('#searchListings').click(function () {        
        geoCode(mParams.cc + " " + $j('#existingURL').val(), 15);
    });
    initDPicker();

    $j('#callAgent').click(function() { $j('#callAgent').css('display', 'none'); $j('#callFrm').css('display', 'block'); });
    $j('#callBtn').click(function() { cagt($j('#cusPfx').val() + $j('#cusNm').val(), $j('#agentDetails').attr('rel')) });
    $j('#cusNm').focus(function() { $j(this).val(''); });
}

function initAC(acId) {
    $j("#" + acId).autocomplete({
        source: "/p/",
        minLength: 2,
        select: function(event, ui) {
            geoCode(ui.item.value, 15);
            colTabs(true);
        }
    });
}

function cCoord(callback, zoom) {
    var cl = google.loader.ClientLocation;
    var loc = [cl.address.city, cl.address.region, cl.address.country].join(', ');
    geoCode(loc, zoom);
}


function addListing(lstj){
    $j('#addLstForm input, #addLstForm textarea').val('');
    $j('#lstId').val('0');  
    if (lstj && lstj.lid > 0) {
        $j('#lstId').val(lstj.lid);
        $j('#lstUrl').val(lstj.eurl);
        $j('#lstAC').val(lstj.addr)
        $j('#lstTitle').val(lstj.ttle);
        $j('#lstDesc').val(lstj.ldesc);
        $j('#lstBthRm').val(lstj.bth);
        $j('#lstBedRm').val(lstj.brm);
        $j('#lstUrl').attr('rel', lstj.vnt);
        $j('#lst').attr('rel', lstj.vnt);
        $j('#oHomeStart').val(lstj.ohs);
        $j('#oHomeEnd').val(lstj.ohe);
        $j('#lstPrice').val(lstj.prc);
        $j('#lstVal').val(lstj.lval);
        $j('#listingTypeDD').val(lstj.ltype);
        $j('#lstLng').val(lstj.ln);
        $j('#lstLat').val(lstj.lt);
    }
    colTabs(true);
    $j('#addLstForm').dialog({ modal: false, resizable: false, title: 'Add a listing', open: initLstPanel});
}

function openLogin() {
    colTabs(true);
    var d = $j('#loginWin').html('<iframe id="ifrm" width="240px" height="240px" frameborder="0" ></iframe>');
    d.dialog({ modal: false, resizable: false, title: 'Login' });
    $j("#loginWin>#ifrm").attr("src", "/login.aspx?loc=" + window.location);
    return false;    
}


function initLstPanel(event, ui) {    
    initAC("lstAC");
}

function urltoloc(url,btnElm) {
    //alert(btnElm);
    $j(btnElm).addClass('loading');
    $j.post("/p/Provider.aspx", {
        prvd: url
    },
    function (data) {
        var result = null;
        try {
            var result = jQuery.parseJSON(data);
        }
        catch (e) {
            alert("could not locate listing please try again");
            $j('#lstUrl').val('');
            $j('.btn').removeClass('loading');
            return;
        }
        $j('.btn').removeClass('loading');
        map.setCenter(new google.maps.LatLng(parseFloat(result.lat), parseFloat(result.lng)));
        $j("#lstLng").val(result.lng);
        $j("#lstLat").val(result.lat);
        $j('#lstAC').val(result.addr);
        $j('#lstTitle').val(result.ttl);
        $j('#lstUrl').attr('rel', result.short);
    })
}

function dlst(lid) {
    if (!confirm('Are you sure you want to delete?'))
        return;

    $j.post("/webservices/UpdateListing.asmx/Delete", {
        lid: lid
    },
        function (data) {
            var inserted = $j(data).find('listingUpdate');
            if (inserted.attr('success') == "true") {
                window.location = window.location; //del context                
            } else {
                alert(inserted.text());
            }
        }, "xml");    
}


function updateLst(elm) {
    //TODO:validate
    $j.post("/webservices/UpdateListing.asmx/Update", {
        lTitle: $j('#lstTitle').val(),
        lId: $j('#lstId').val(),
        lUrl: $j('#lstUrl').val(),
        lDesc: $j('#lstDesc').val(),
        lBthRm: $j('#lstBthRm').val(),
        lBedRm: $j('#lstBedRm').val(),
        lohs: $j('#oHomeStart').val(),
        lohe: $j('#oHomeEnd').val(),
        lprc: $j('#lstPrice').val(),
        lval: $j('#lstVal').val(),
        laddr: $j('#lstAC').val(),
        ltype: $j('#listingTypeDD').val(),
        lng: $j('#lstLng').val(),
        llt: $j('#lstLat').val(),
        lvn: $j('#lstUrl').attr('rel')
    },
        function(data) {
            var inserted = $j(data).find('listingUpdate');
            if (inserted.attr('success') == "true") {
                //$j('#listingsList').append("<li><a href='" + $j('#lstUrl').attr('rel') + "' >" + $j('#lstAC').val() + "</a></li>");
                $j('#addLstForm').dialog('close');
                window.location = window.location; 
            } else {
                alert(inserted.text());
                window.location = window.location;
            }
        }, "xml");
    }

    function initFPage(alat, alon, zoom) {        
        $j('#tabsContainer').tabs();
        var myLatlng = new google.maps.LatLng(alat, alon);
        var myOptions = {
            zoom: zoom,
            center: myLatlng,
            zoomControl: true,
            streetViewControl: true,
            panControl: false,
            zoomControlOptions: {
                style: google.maps.ZoomControlStyle.SMALL
            },           
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        $j('#tabsContainer').tabs({ select: function(event, ui) { colTabs(false); } });
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        geocoder = new google.maps.Geocoder();
        var infowindow = new google.maps.InfoWindow({
            content: "test"
        });
        var listener = google.maps.event.addListener(map, 'bounds_changed', function() {
            //set remrk
            mgr = new MarkerManager(map);
            google.maps.event.addListener(mgr, 'loaded', function() {
                addeREMarkers(mgr, "8_0");
                //auc: addAData();
                mgr.refresh();
            });
            //set remrk ends

            

            google.maps.event.removeListener(listener);
        });    
        initMapPanel();
        
        $j('#searchListings').click(function () {
            geoCode(mParams.cc + " " + $j('#existingURL').val(), 15);
        });
        $j('#myPin').click(function() { $j('#myPin').val(''); $j(this).css('border-color', 'inherit'); });
        $j('#myPinRe').click(function() { $j('#myPinRe').val(''); $j(this).css('border-color', 'inherit'); });
        $j('#pinSubmit').click(function() {
            var pinStr = $j('#myPin').val();
            var rePinStr = $j('#myPinRe').val();
            if (pinStr != rePinStr || rePinStr == '' || pinStr == '') {
                $j('#myPin').val('');
                $j('#myPinRe').val('');
                $j('#myPin,#myPinRe').css('border-color', 'red');
                return;
            }
            else {
                $j('#myPin').val('logging in..');
                var ph = $j('#myPhone').val().replace('-', '');
                var uprms = "?cid=" + $j('#promo').val() + "&p=" + pinStr + ((String(ph).search(/^\s*\d+\s*$/) != -1) ? "&pn=" + ph : "")
                //alert(uprms);
                $j.getJSON(window.location + uprms, function(data) {
                    window.location = data.redirect;
                    /*
                    var items = [];
                    var i = data.coords.length;
                    var pxStr = '';
                    while (i--) {
                    var currentPx = ptoc(new google.maps.LatLng(data.coords[i].lat, data.coords[i].lon));
                    pxStr += data.coords[i].id + "," + currentPx.x + "," + currentPx.y + "n";
                    }
                    console.log(pxStr);
                    */
                });
            }
        })        
    }


    function sciOn() {
        sciSet = true;
        var coords = aParams.lst; // [{ "id": "285", "sprc": "515000.00,618000.00,721000.00,825000.00", "lat": -36.928032, "lon": 174.758920, "address": "Residential House at 82 Goodall St,Hillsborough - Auckland City,Auckland", "yr": "3/28/2000 12:00:00 AM", "category": "10_0" }, { "id": "286", "sprc": "160000.00,192000.00,224000.00,257000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 3D17,178 Broadway ,Newmarket,Auckland", "yr": "8/5/2003 12:00:00 AM", "category": "10_0" }, { "id": "287", "sprc": "135000.00,162000.00,189000.00,216000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 3B3,178 Broadway ,Newmarket,Auckland", "yr": "8/19/2003 12:00:00 AM", "category": "10_0" }, { "id": "288", "sprc": "135000.00,162000.00,189000.00,216000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 3C3,178 Broadway ,Newmarket,Auckland", "yr": "8/22/2003 12:00:00 AM", "category": "10_0" }, { "id": "289", "sprc": "210000.00,252000.00,294000.00,336000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 3A17,178 Broadway ,Newmarket,Auckland", "yr": "8/25/2003 12:00:00 AM", "category": "10_0" }, { "id": "290", "sprc": "156000.00,188000.00,219000.00,251000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 3A7,178 Broadway ,Newmarket,Auckland", "yr": "9/5/2003 12:00:00 AM", "category": "10_0" }, { "id": "291", "sprc": "137000.00,165000.00,192000.00,220000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 4B1,178 Broadway ,Newmarket,Auckland", "yr": "9/5/2003 12:00:00 AM", "category": "10_0" }, { "id": "292", "sprc": "136000.00,163000.00,190000.00,218000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 4B2,178 Broadway ,Newmarket,Auckland", "yr": "9/5/2003 12:00:00 AM", "category": "10_0" }, { "id": "293", "sprc": "137000.00,165000.00,192000.00,220000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 4C1,178 Broadway ,Newmarket,Auckland", "yr": "9/5/2003 12:00:00 AM", "category": "10_0" }, { "id": "294", "sprc": "135000.00,162000.00,189000.00,216000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 3C13,178 Broadway ,Newmarket,Auckland", "yr": "9/6/2003 12:00:00 AM", "category": "10_0" }, { "id": "295", "sprc": "135000.00,162000.00,189000.00,216000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 3B14,178 Broadway ,Newmarket,Auckland", "yr": "9/10/2003 12:00:00 AM", "category": "10_0" }, { "id": "296", "sprc": "268000.00,321000.00,375000.00,429000.00", "lat": -36.850183, "lon": 174.766211, "address": "Apartment at 13C,6 Kitchener St,Auckland Central,Auckland", "yr": "8/10/2004 12:00:00 AM", "category": "10_0" }, { "id": "297", "sprc": "93000.00,112000.00,131000.00,150000.00", "lat": -36.873989, "lon": 174.782451, "address": "Apartment at 6,109 Remuera Rd,Remuera,Auckland", "yr": "8/27/2004 12:00:00 AM", "category": "10_0" }, { "id": "298", "sprc": "186000.00,224000.00,261000.00,299000.00", "lat": -36.846198, "lon": 174.771098, "address": "Apartment at 503,22 Emily Pl,Auckland Central,Auckland", "yr": "10/10/2004 12:00:00 AM", "category": "10_0" }, { "id": "299", "sprc": "98000.00,117000.00,137000.00,157000.00", "lat": -36.894670, "lon": 174.831955, "address": "Residential House at 36 Rutland Rd,Mt Wellington,Auckland", "yr": "2/7/2005 12:00:00 AM", "category": "10_0" }, { "id": "300", "sprc": "228000.00,273000.00,319000.00,365000.00", "lat": -36.897767, "lon": 174.682788, "address": "Town House at 127A Ash St,Avondale - Auckland,Auckland", "yr": "3/17/2005 12:00:00 AM", "category": "10_0" }, { "id": "301", "sprc": "45000.00,54000.00,63000.00,72000.00", "lat": -36.912479, "lon": 174.713486, "address": "Residential House at 52 Mary Dreaver St,Avondale - Auckland,Auckland", "yr": "9/1/2005 12:00:00 AM", "category": "10_0" }, { "id": "302", "sprc": "45000.00,54000.00,63000.00,72000.00", "lat": -36.912538, "lon": 174.713236, "address": "Residential House at 54 Mary Dreaver St,Avondale - Auckland,Auckland", "yr": "9/1/2005 12:00:00 AM", "category": "10_0" }, { "id": "303", "sprc": "687000.00,825000.00,962000.00,1100000.00", "lat": -36.844067, "lon": 174.740352, "address": "Residential House at 15 Curran St,Herne Bay,Auckland", "yr": "11/3/2005 12:00:00 AM", "category": "10_0" }, { "id": "304", "sprc": "451000.00,541000.00,631000.00,722000.00", "lat": -36.268544, "lon": 175.493566, "address": "Residential House at 7 The Lane ,Great Barrier Island", "yr": "1/4/2006 12:00:00 AM", "category": "10_0" }, { "id": "305", "sprc": "1859000.00,2231000.00,2603000.00,2975000.00", "lat": -36.853217, "lon": 174.853649, "address": "Residential House at 26 Auckland Rd,St Heliers,Auckland", "yr": "1/23/2006 12:00:00 AM", "category": "10_0" }, { "id": "306", "sprc": "37000.00,45000.00,52000.00,60000.00", "lat": -36.849349, "lon": 174.773421, "address": "Apartment at 201,138 Anzac Ave,Auckland Central,Auckland", "yr": "2/2/2006 12:00:00 AM", "category": "10_0" }, { "id": "307", "sprc": "293000.00,352000.00,411000.00,470000.00", "lat": -36.912877, "lon": 174.708046, "address": "Residential House at 131 Whitney St,Blockhouse Bay,Auckland", "yr": "3/12/2006 12:00:00 AM", "category": "10_0" }, { "id": "308", "sprc": "87000.00,105000.00,122000.00,140000.00", "lat": -36.873173, "lon": 174.858355, "address": "Residential House at 32 Line Rd,Glen Innes,Auckland", "yr": "3/15/2006 12:00:00 AM", "category": "10_0" }, { "id": "309", "sprc": "2000000.00,2400000.00,2800000.00,3200000.00", "lat": -36.851607, "lon": 174.718370, "address": "Residential House at 20 Rawene Ave,Westmere - Auckland,Auckland", "yr": "3/28/2006 12:00:00 AM", "category": "10_0" }, { "id": "310", "sprc": "219000.00,263000.00,307000.00,351000.00", "lat": -36.909094, "lon": 174.805812, "address": "Residential House at 120 Rockfield Rd,Penrose,Auckland", "yr": "4/4/2006 12:00:00 AM", "category": "10_0" }, { "id": "311", "sprc": "263000.00,316000.00,369000.00,422000.00", "lat": -36.844474, "lon": 174.760023, "address": "Apartment at 2N,22 Pakenham St East,Auckland Central,Auckland", "yr": "4/6/2006 12:00:00 AM", "category": "10_0" }, { "id": "312", "sprc": "153000.00,183000.00,214000.00,245000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 4C4,178 Broadway ,Newmarket,Auckland", "yr": "5/18/2006 12:00:00 AM", "category": "10_0" }, { "id": "313", "sprc": "153000.00,183000.00,214000.00,245000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 4C4,178 Broadway ,Newmarket,Auckland", "yr": "5/18/2006 12:00:00 AM", "category": "10_0" }, { "id": "314", "sprc": "173000.00,208000.00,243000.00,278000.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 7C14,178 Broadway ,Newmarket,Auckland", "yr": "6/7/2006 12:00:00 AM", "category": "10_0" }, { "id": "315", "sprc": "153000.00,183000.00,214000.00,245000.00", "lat": -36.868460, "lon": 174.778057, "address": "Apartment at 178,485 Broadway ,Newmarket,Auckland", "yr": "6/19/2006 12:00:00 AM", "category": "10_0" }, { "id": "316", "sprc": "875000.00,1050000.00,1225000.00,1400000.00", "lat": -36.883552, "lon": 174.760509, "address": "Residential House at 6A Grange Rd,Mt Eden,Auckland", "yr": "6/19/2006 12:00:00 AM", "category": "10_0" }, { "id": "317", "sprc": "262000.00,315000.00,367000.00,420000.00", "lat": -36.862472, "lon": 174.705459, "address": "Residential House at 11 Wainui Ave,Point Chevalier,Auckland", "yr": "7/10/2006 12:00:00 AM", "category": "10_0" }, { "id": "318", "sprc": "218000.00,262000.00,306000.00,350000.00", "lat": -36.911425, "lon": 174.780807, "address": "Residential House at 9D Clarke Rd,Royal Oak,Auckland", "yr": "7/11/2006 12:00:00 AM", "category": "10_0" }, { "id": "319", "sprc": "190000.00,228000.00,266000.00,305000.00", "lat": -36.907109, "lon": 174.834984, "address": "Residential House at 259 Penrose Rd,Mt Wellington,Auckland", "yr": "7/17/2006 12:00:00 AM", "category": "10_0" }, { "id": "320", "sprc": "371000.00,446000.00,520000.00,595000.00", "lat": -36.922992, "lon": 174.752295, "address": "Town House at 4 Hira Way,Hillsborough - Auckland City,Auckland", "yr": "7/25/2006 12:00:00 AM", "category": "10_0" }, { "id": "321", "sprc": "468000.00,562000.00,656000.00,750000.00", "lat": -36.879242, "lon": 174.716046, "address": "Residential House at 52 Seaview Rd,Mt Albert,Auckland", "yr": "7/27/2006 12:00:00 AM", "category": "10_0" }, { "id": "322", "sprc": "121800.00,145800.00,169800.00,193800.00", "lat": -36.868341, "lon": 174.778405, "address": "Apartment at 6D5,178 Broadway ,Newmarket,Auckland", "yr": "8/4/2006 12:00:00 AM", "category": "10_0" }, { "id": "323", "sprc": "412000.00,495000.00,577000.00,660000.00", "lat": -36.910978, "lon": 174.780949, "address": "Town House at 9A Clarke Rd,Royal Oak,Auckland", "yr": "8/4/2006 12:00:00 AM", "category": "10_0" }, { "id": "324", "sprc": "145000.00,174000.00,203000.00,232000.00", "lat": -36.927852, "lon": 174.723615, "address": "Residential House at 35A Oriana Ave,Lynfield", "yr": "8/29/2006 12:00:00 AM", "category": "10_0" }, { "id": "325", "sprc": "281000.00,337000.00,393000.00,450000.00", "lat": -36.901094, "lon": 174.804222, "address": "Residential House at 10 Rockfield Rd,Greenlane,Auckland", "yr": "9/1/2006 12:00:00 AM", "category": "10_0" }, { "id": "326", "sprc": "176000.00,211000.00,246000.00,282000.00", "lat": -36.919811, "lon": 174.747985, "address": "Residential House at 29A Oakdale Rd,Hillsborough - Auckland City,Auckland", "yr": "9/6/2006 12:00:00 AM", "category": "10_0" }, { "id": "327", "sprc": "362000.00,435000.00,507000.00,580000.00", "lat": -36.857509, "lon": 174.819064, "address": "Residential House at 20 Paerimu St,Orakei,Auckland", "yr": "9/9/2006 12:00:00 AM", "category": "10_0" }, { "id": "328", "sprc": "262000.00,315000.00,367000.00,420000.00", "lat": -36.911081, "lon": 174.793190, "address": "Residential House at 5 Hoheria Rd,Onehunga,Auckland", "yr": "9/11/2006 12:00:00 AM", "category": "10_0" }, { "id": "329", "sprc": "374000.00,449000.00,524000.00,599000.00", "lat": -36.867912, "lon": 174.781403, "address": "Residential House at 23 Maui Gr,Remuera,Auckland", "yr": "9/11/2006 12:00:00 AM", "category": "10_0" }, { "id": "330", "sprc": "359000.00,431000.00,503000.00,575000.00", "lat": -36.856989, "lon": 174.819217, "address": "Residential House at 53 Tautari St,Orakei,Auckland", "yr": "9/14/2006 12:00:00 AM", "category": "10_0" }, { "id": "331", "sprc": "262000.00,315000.00,367000.00,420000.00", "lat": -36.922173, "lon": 174.749140, "address": "Residential House at 1 Locke Ave,Hillsborough - Auckland City,Auckland", "yr": "9/15/2006 12:00:00 AM", "category": "10_0" }, { "id": "332", "sprc": "182500.00,218500.00,255500.00,291500.00", "lat": -36.879672, "lon": 174.700160, "address": "Residential House at 19 Alverston St,Waterview,Auckland", "yr": "9/19/2006 12:00:00 AM", "category": "10_0" }, { "id": "333", "sprc": "243000.00,292000.00,341000.00,390000.00", "lat": -36.906433, "lon": 174.745460, "address": "Residential House at 405 Mt Albert Rd,Mt Roskill,Auckland", "yr": "10/10/2006 12:00:00 AM", "category": "10_0" }, { "id": "334", "sprc": "250000.00,300000.00,350000.00,400000.00", "lat": -36.863706, "lon": 174.714210, "address": "Residential House at Lot 3,87 Premier Ave,Point Chevalier,Auckland", "yr": "10/11/2006 12:00:00 AM", "category": "10_0" }, { "id": "335", "sprc": "171000.00,206000.00,240000.00,275000.00", "lat": -36.949461, "lon": 174.852076, "address": "Residential House at 11 Clements St,Otahuhu,Auckland", "yr": "10/14/2006 12:00:00 AM", "category": "10_0" }, { "id": "336", "sprc": "479000.00,575000.00,671000.00,767000.00", "lat": -36.887951, "lon": 174.754062, "address": "Residential House at 2 Westminster Ave,Mt Eden", "yr": "10/15/2006 12:00:00 AM", "category": "10_0" }, { "id": "337", "sprc": "209000.00,251000.00,293000.00,335000.00", "lat": -36.867201, "lon": 174.740568, "address": "Apartment at 2N,444 Great North Rd,Grey Lynn,Auckland", "yr": "10/17/2006 12:00:00 AM", "category": "10_0" }, { "id": "338", "sprc": "292000.00,351000.00,409000.00,468000.00", "lat": -36.902515, "lon": 174.861268, "address": "Residential House at 49A Kings Rd,Panmure,Auckland", "yr": "10/18/2006 12:00:00 AM", "category": "10_0" }, { "id": "339", "sprc": "176500.00,211500.00,247500.00,282500.00", "lat": -36.868245, "lon": 174.778235, "address": "Apartment at 4A6,176 Broadway ,Newmarket,Auckland", "yr": "10/26/2006 12:00:00 AM", "category": "10_0" }, { "id": "340", "sprc": "293000.00,352000.00,411000.00,470000.00", "lat": -36.912204, "lon": 174.840458, "address": "Residential House at 35 Lynton Rd,Mt Wellington,Auckland", "yr": "10/27/2006 12:00:00 AM", "category": "10_0" }, { "id": "341", "sprc": "490000.00,588000.00,686000.00,785000.00", "lat": -36.895167, "lon": 174.754697, "address": "Town House at 32 Peary Rd,Mt Eden,Auckland", "yr": "10/27/2006 12:00:00 AM", "category": "10_0" }, { "id": "342", "sprc": "121000.00,146000.00,170000.00,195000.00", "lat": -36.848459, "lon": 174.763331, "address": "Apartment at 11N,135 Victoria Street Rd,Auckland Central,Auckland", "yr": "10/30/2006 12:00:00 AM", "category": "10_0" }, { "id": "343", "sprc": "258000.00,309000.00,361000.00,413000.00", "lat": -36.930226, "lon": 174.717294, "address": "Residential House at 73 The Avenue ,Lynfield,Auckland", "yr": "11/1/2006 12:00:00 AM", "category": "10_0" }, { "id": "344", "sprc": "756000.00,907000.00,1058000.00,1210000.00", "lat": -36.853501, "lon": 174.808866, "address": "Apartment at 2,18 Tuhaere St,Orakei,Auckland", "yr": "11/1/2006 12:00:00 AM", "category": "10_0" }, { "id": "345", "sprc": "425000.00,510000.00,595000.00,680000.00", "lat": -36.928124, "lon": 174.699210, "address": "Residential House at 53 Endeavour St,Blockhouse Bay,Auckland", "yr": "11/7/2006 12:00:00 AM", "category": "10_0" }, { "id": "346", "sprc": "340000.00,408000.00,476000.00,545000.00", "lat": -36.917591, "lon": 174.710037, "address": "Residential House at 74A McFadzean Dr,Blockhouse Bay,Auckland", "yr": "11/10/2006 12:00:00 AM", "category": "10_0" }, { "id": "347", "sprc": "263000.00,316000.00,369000.00,422000.00", "lat": -36.928777, "lon": 174.721677, "address": "Residential House at 40 Caronia Cres,Lynfield,Auckland", "yr": "11/13/2006 12:00:00 AM", "category": "10_0" }, { "id": "348", "sprc": "224000.00,269000.00,314000.00,359000.00", "lat": -36.913804, "lon": 174.719082, "address": "Residential House at 44 Haycock Ave,Mt Roskill,Auckland", "yr": "11/13/2006 12:00:00 AM", "category": "10_0" }, { "id": "349", "sprc": "175000.00,210000.00,245000.00,280000.00", "lat": -36.923990, "lon": 174.740908, "address": "Residential House at 32 Morrie Laing Ave,Mt Roskill,Auckland", "yr": "11/13/2006 12:00:00 AM", "category": "10_0" }, { "id": "350", "sprc": "750500.00,900500.00,1050500.00,1200500.00", "lat": -36.848439, "lon": 174.865209, "address": "Residential House at 31 Rarangi Rd,St Heliers,Auckland", "yr": "11/13/2006 12:00:00 AM", "category": "10_0" }, { "id": "351", "sprc": "374000.00,449000.00,524000.00,599000.00", "lat": -36.850965, "lon": 174.777924, "address": "Town House at C,16 Parnell Rd,Parnell,Auckland", "yr": "11/15/2006 12:00:00 AM", "category": "10_0" }, { "id": "352", "sprc": "256000.00,307000.00,358000.00,410000.00", "lat": -36.909070, "lon": 174.708000, "address": "Residential House at 81 Whitney St,Avondale - Auckland,Auckland", "yr": "11/15/2006 12:00:00 AM", "category": "10_0" }, { "id": "353", "sprc": "190000.00,228000.00,266000.00,305000.00", "lat": -36.901418, "lon": 174.742757, "address": "Apartment at 3A,94 Dominion Rd,Mt Roskill,Auckland", "yr": "11/16/2006 12:00:00 AM", "category": "10_0" }, { "id": "354", "sprc": "107000.00,129000.00,150000.00,172000.00", "lat": -36.878815, "lon": 174.706417, "address": "Residential House at 7,139 Carrington Rd,Mt Albert,Auckland", "yr": "11/17/2006 12:00:00 AM", "category": "10_0" }, { "id": "355", "sprc": "181000.00,217000.00,253000.00,290000.00", "lat": -36.886263, "lon": 174.865736, "address": "Residential House at 38A Kawiti Ave,Point England,Auckland", "yr": "11/17/2006 12:00:00 AM", "category": "10_0" }, { "id": "356", "sprc": "215000.00,258000.00,301000.00,345000.00", "lat": -36.924292, "lon": 174.692509, "address": "Residential House at 8 Caledonian Pl,Blockhouse Bay,Auckland", "yr": "11/18/2006 12:00:00 AM", "category": "10_0" }, { "id": "357", "sprc": "186000.00,224000.00,261000.00,299000.00", "lat": -36.881478, "lon": 174.775681, "address": "Property at 3,191 Manuaku Rd,Epsom", "yr": "11/18/2006 12:00:00 AM", "category": "10_0" }, { "id": "358", "sprc": "750000.00,900000.00,1050000.00,1200000.00", "lat": -36.868077, "lon": 174.790680, "address": "Residential House at 19 Wiles Ave,Remuera,Auckland", "yr": "11/20/2006 12:00:00 AM", "category": "10_0" }, { "id": "359", "sprc": "115000.00,138000.00,161000.00,185000.00", "lat": -36.856870, "lon": 174.757358, "address": "Apartment at 10J,36 Day St,Auckland Central,Auckland", "yr": "11/22/2006 12:00:00 AM", "category": "10_0" }, { "id": "360", "sprc": "150000.00,180000.00,210000.00,240000.00", "lat": -36.845838, "lon": 174.770316, "address": "Apartment at 3D,1 Emily Pl,Auckland Central,Auckland", "yr": "11/22/2006 12:00:00 AM", "category": "10_0" }, { "id": "361", "sprc": "850000.00,1020000.00,1190000.00,1360000.00", "lat": -36.861164, "lon": 174.783491, "address": "Town House at 9A Cathedral Pl,Parnell,Auckland", "yr": "11/24/2006 12:00:00 AM", "category": "10_0" }, { "id": "362", "sprc": "871000.00,1046000.00,1220000.00,1395000.00", "lat": -36.892686, "lon": 174.766050, "address": "Residential House at 80 St Andrews Rd,Epsom,Auckland", "yr": "11/24/2006 12:00:00 AM", "category": "10_0" }, { "id": "363", "sprc": "231000.00,277000.00,323000.00,370000.00", "lat": -36.848261, "lon": 174.766876, "address": "Apartment at 2302,1 Courthouse Lane,Auckland Central,Auckland", "yr": "11/25/2006 12:00:00 AM", "category": "10_0" }, { "id": "364", "sprc": "259000.00,311000.00,363000.00,415000.00", "lat": -36.921286, "lon": 174.794296, "address": "Residential House at 53 Alfred St,Onehunga", "yr": "11/26/2006 12:00:00 AM", "category": "10_0" }, { "id": "365", "sprc": "190000.00,228000.00,266000.00,305000.00", "lat": -36.893593, "lon": 174.860389, "address": "Residential House at 50 McCulloch Rd,Panmure,Auckland", "yr": "11/26/2006 12:00:00 AM", "category": "10_0" }, { "id": "366", "sprc": "171000.00,206000.00,240000.00,275000.00", "lat": -36.875158, "lon": 174.871253, "address": "Residential House at 12 Sunnymead Rd,Glen Innes,Auckland", "yr": "11/26/2006 12:00:00 AM", "category": "10_0" }, { "id": "367", "sprc": "403000.00,483000.00,564000.00,645000.00", "lat": -36.865640, "lon": 174.744171, "address": "Apartment at A32,340 Great North Rd,Grey Lynn", "yr": "11/27/2006 12:00:00 AM", "category": "10_0" }, { "id": "368", "sprc": "209000.00,251000.00,293000.00,335000.00", "lat": -36.895573, "lon": 174.711395, "address": "Residential House at 40 Stewart Rd,Mt Albert,Auckland", "yr": "11/27/2006 12:00:00 AM", "category": "10_0" }, { "id": "369", "sprc": "612000.00,735000.00,857000.00,980000.00", "lat": -36.884387, "lon": 174.718697, "address": "Residential House at 4 Allendale Rd,Mt Albert,Auckland", "yr": "11/28/2006 12:00:00 AM", "category": "10_0" }, { "id": "370", "sprc": "312000.00,375000.00,437000.00,500000.00", "lat": -36.883414, "lon": 174.757260, "address": "Property at 8,60 Grange Rd,Mt Eden,Auckland", "yr": "11/28/2006 12:00:00 AM", "category": "10_0" }, { "id": "371", "sprc": "496000.00,596000.00,695000.00,795000.00", "lat": -36.859740, "lon": 174.782543, "address": "Apartment at 402,431 Parnell Rd,Parnell,Auckland", "yr": "11/28/2006 12:00:00 AM", "category": "10_0" }, { "id": "372", "sprc": "264870.00,317870.00,370870.00,422870.00", "lat": -36.865814, "lon": 174.755547, "address": "Residential House at V403,21 Virginia Ave East,Eden Terrace,Auckland", "yr": "11/28/2006 12:00:00 AM", "category": "10_0" }, { "id": "373", "sprc": "206000.00,247000.00,288000.00,330000.00", "lat": -36.898185, "lon": 174.832230, "address": "Property at 5,80 Banks Rd,Mt Wellington,Auckland", "yr": "11/29/2006 12:00:00 AM", "category": "10_0" }, { "id": "374", "sprc": "190000.00,228000.00,266000.00,305000.00", "lat": -36.850132, "lon": 174.759940, "address": "Apartment at 6B,125A Hobson St,Auckland Central,Auckland", "yr": "11/30/2006 12:00:00 AM", "category": "10_0" }, { "id": "375", "sprc": "650000.00,780000.00,910000.00,1040000.00", "lat": -36.844980, "lon": 174.765347, "address": "Apartment at 2803,8 Albert St,Auckland Central,Auckland", "yr": "12/1/2006 12:00:00 AM", "category": "10_0" }, { "id": "376", "sprc": "187000.00,225000.00,262000.00,300000.00", "lat": -36.897538, "lon": 174.682872, "address": "Residential House at 127 Ash St,Avondale - Auckland,Auckland", "yr": "12/1/2006 12:00:00 AM", "category": "10_0" }, { "id": "377", "sprc": "190000.00,228000.00,266000.00,305000.00", "lat": -36.910485, "lon": 174.837934, "address": "Residential House at 2,226 Mt Wellington Hwy,Mt Wellington,Auckland", "yr": "12/1/2006 12:00:00 AM", "category": "10_0" }, { "id": "378", "sprc": "204000.00,245000.00,286000.00,327000.00", "lat": -36.866404, "lon": 174.796614, "address": "Property at 4,171A Portland Rd,Remuera,Auckland", "yr": "12/1/2006 12:00:00 AM", "category": "10_0" }, { "id": "379", "sprc": "272000.00,327000.00,381000.00,436000.00", "lat": -36.815183, "lon": 175.056176, "address": "Residential House at 1 Valley Rd,Omiha,Auckland", "yr": "12/1/2006 12:00:00 AM", "category": "10_0" }, { "id": "380", "sprc": "314500.00,376500.00,439500.00,502500.00", "lat": -36.905329, "lon": 174.790964, "address": "Property at 4,89 Rawhiti Rd,One Tree Hill,Auckland", "yr": "12/2/2006 12:00:00 AM", "category": "10_0" }, { "id": "381", "sprc": "578000.00,693000.00,809000.00,925000.00", "lat": -36.863193, "lon": 174.781393, "address": "Town House at 2B Cowie St,Newmarket,Auckland", "yr": "12/3/2006 12:00:00 AM", "category": "10_0" }, { "id": "382", "sprc": "214000.00,257000.00,300000.00,343000.00", "lat": -36.791830, "lon": 175.057028, "address": "Residential House at 61 Erua Rd,Ostend,Ostend", "yr": "12/3/2006 12:00:00 AM", "category": "10_0" }, { "id": "383", "sprc": "175000.00,210000.00,245000.00,280000.00", "lat": -36.908442, "lon": 174.738353, "address": "Residential House at 3,9 Radnor Rd,Mt Roskill,Auckland", "yr": "12/3/2006 12:00:00 AM", "category": "10_0" }, { "id": "384", "sprc": "160000.00,192000.00,224000.00,257000.00", "lat": -36.864293, "lon": 174.780190, "address": "Apartment at 2,5 Sarawia St,Newmarket,Auckland", "yr": "12/3/2006 12:00:00 AM", "category": "10_0"}];
        var coordsData = [];
        for (i = 0; i < coords.length; i++) {
            coordsData.push({ "lat": coords[i].lt, "lng": coords[i].ln, "count": 5 });
        }
        testData = { "max": 10, "data": coordsData };
        heatmap.setDataSet(testData);
    }

    var sciSet = false;

    function sciMode(lat, lon) {
        if(!sciSet)
           sciOn();
        else
            heatmap.toggle();       
        return;
                
        //$j("#sciDiv").html('<iframe id="modalIframeId" width="680px" height="500px" marginWidth="0" marginHeight="0" frameBorder="0" scrolling="auto" />').dialog("open");
        //$j("#modalIframeId").attr("src", sm.aspx?ln="+ lon +"&lt="+ lat);
        //return false;
    }

    function geoTag() {
        if (google.loader.ClientLocation) {
            latlng = new google.maps.LatLng(google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude);
            return latlng;
        }
        return null;
        //else call repository
    }

    function cagt(dst, aid) {      
        jQuery.ajax({
            type: "GET",
            url: "/c/",
            dataType: 'json',
            data: "dst="+ dst +"&aid=" + aid,
            error: function(msg) { /*prompt*/ },
            success: function(res) {
            if (res.status != "-1")
                $j('#callFrm').html(res.status);               
            }
        });
    }

    function addAData() {
        jQuery.ajax({
            type: "GET",
            url: "/webservices/?action=resSale",
            dataType: 'json',
            data: "st=01-01-2010&end=01-01-2011&bbox=" + map.getBounds(),
            error: function (msg) { /*prompt*/ },
            success: function (res) {
                //-- in const
                var responseJson = eval(res);
                var batch = [];
                var tmpIcon = getREIcon("7_0");
                for (var i = 0; i < responseJson.length; ++i) {
                    var current = new google.maps.Marker({
                        position: new google.maps.LatLng(responseJson[i].lat, responseJson[i].lon),
                        shadow: tmpIcon.shadow,
                        icon: tmpIcon.icon,
                        shape: tmpIcon.shape,
                        title: responseJson[i].addr
                    })
                    google.maps.event.addListener(current, 'click', function () {
                        var infowindow = new google.maps.InfoWindow({
                            content: "<span class='bble'>prop</span>"
                        });
                        infowindow.open(map, this);
                    });
                    batch.push(current);

                }
                mgr.addMarkers(/*[current]*/batch, 5);
                mgr.refresh();
                //-- in const
            }
        });

    }

    function isMobile() {
        if (navigator.userAgent.match(/Android/i) ||
         navigator.userAgent.match(/webOS/i) ||
         navigator.userAgent.match(/iPhone/i) ||
         navigator.userAgent.match(/iPod/i) ||
         navigator.userAgent.match(/BlackBerry/))
            return true;
        else
            return false;

 }
