﻿var Sawbuck = window.Sawbuck || {}; Sawbuck.Page = function() {
	var _view = "marketGuide"; var _url, _criteria; var _serial = { listings: 0 }
	var _stats = {}; var _searchSaved = false; var _somethingRendered = false; function getCriteria() {
		if (!_criteria)
			return false; var ajaxData = { AreaID: _area_id, BedroomsMax: _criteria.beds.value[1], BedroomsMin: _criteria.beds.value[0], PropertyTypes: _criteria.propertyTypes.value[0] }; return ajaxData;
	}
	function parseStats(data) {
		if (data.d.length) {
			data = data.d; if (data[0]) { if (data[0].RecentWeekValue) data[0].RecentWeekValue = data[0].RecentWeekValue.toPrice(); if (data[0].Weeks4Ago) data[0].Weeks4Ago = data[0].Weeks4Ago.toPrice(); if (data[0].Years1Ago) data[0].Years1Ago = data[0].Years1Ago.toPrice(); }
			if (data[1]) { if (data[1].RecentWeekValue) data[1].RecentWeekValue = parseFloat(data[1].RecentWeekValue).format(1, ","); if (data[1].Weeks4Ago) data[1].Weeks4Ago = parseFloat(data[1].Weeks4Ago).format(null, ","); if (data[1].Years1Ago) data[1].Years1Ago = parseFloat(data[1].Years1Ago).format(null, ","); }
			if (data[2]) { if (data[2].RecentWeekValue) data[2].RecentWeekValue = Math.round(data[2].RecentWeekValue).format(0, ","); if (data[2].Weeks4Ago) data[2].Weeks4Ago = Math.round(data[2].Weeks4Ago).format(0, ","); if (data[2].Years1Ago) data[2].Years1Ago = Math.round(data[2].Years1Ago).format(0, ","); }
			if (data[3]) { if (data[3].RecentWeekValue) data[3].RecentWeekValue = Math.round(data[3].RecentWeekValue).format(0, ","); if (data[3].Weeks4Ago) data[3].Weeks4Ago = Math.round(data[3].Weeks4Ago).format(0, ","); if (data[3].Years1Ago) data[3].Years1Ago = Math.round(data[3].Years1Ago).format(0, ","); }
			if (data[4]) { if (data[4].RecentWeekValue) data[4].RecentWeekValue = Math.round(data[4].RecentWeekValue).format(0, ","); if (data[4].Weeks4Ago) data[4].Weeks4Ago = Math.round(data[4].Weeks4Ago).format(0, ","); if (data[4].Years1Ago) data[4].Years1Ago = Math.round(data[4].Years1Ago).format(0, ","); }
			if (data[5]) { if (data[5].RecentWeekValue) data[5].RecentWeekValue = Math.round(data[5].RecentWeekValue).format(0, ","); if (data[5].Weeks4Ago) data[5].Weeks4Ago = Math.round(data[5].Weeks4Ago).format(0, ","); if (data[5].Years1Ago) data[5].Years1Ago = Math.round(data[5].Years1Ago).format(0, ","); }
			if (data[6]) { if (data[6].RecentWeekValue) data[6].RecentWeekValue = data[6].RecentWeekValue.toPrice(); if (data[6].Weeks4Ago) data[6].Weeks4Ago = data[6].Weeks4Ago.toPrice(); if (data[6].Years1Ago) data[6].Years1Ago = data[6].Years1Ago.toPrice(); }
			if (data[7]) { if (data[7].RecentWeekValue) data[7].RecentWeekValue = parseFloat(data[7].RecentWeekValue).format(1, ","); if (data[7].Weeks4Ago) data[7].Weeks4Ago = parseFloat(data[7].Weeks4Ago).format(null, ","); if (data[7].Years1Ago) data[7].Years1Ago = parseFloat(data[7].Years1Ago).format(null, ","); }
			if (data[8]) { if (data[8].RecentWeekValue) data[8].RecentWeekValue = Math.round(data[8].RecentWeekValue).format(0, ","); if (data[8].Weeks4Ago) data[8].Weeks4Ago = Math.round(data[8].Weeks4Ago).format(0, ","); if (data[8].Years1Ago) data[8].Years1Ago = Math.round(data[8].Years1Ago).format(0, ","); } 
		}
		else
			data = []; Sawbuck.Renderer.render(data); hideLoader();
	}
	function loadStats() { var data = getCriteria(); $j.ajax({ type: "POST", url: "/service/WebService.asmx/GetMarketStats", data: Sawbuck.Utilities.toJson(data), contentType: "application/json; charset=utf-8", dataType: "json", processData: false, dataFilter: function(data, type) { return data.replace(/"\\\/Date\(([0-9-]+)\)\\\/"/gi, '$1'); }, success: function(response) { parseStats(response); }, error: function() { } }); }; function showLoader() { document.body.style.cursor = 'wait'; }; function hideLoader() { document.body.style.cursor = 'default'; }; return { init: function(opts) { with (opts) { _area_id = areaID || 814; _area_type_id = areaTypeID || 4; } }, onLoad: function(args) {
		if (!_criteria) {
			_criteria = Sawbuck.SearchManager.getSearch()
			loadStats();
		}
		$j(".statsTable thead td:not(td td, td td td)").click(function() { $j(this).siblings().removeClass("on"); $j(this).addClass("on"); Sawbuck.Renderer.swapTabs(this); Sawbuck.Reporting.trackEvent('Market Guide Stats', 'Switched Tabs', 'URL', window.location); });
	}, onLogin: function(args) { }, onRegister: function(args) { }, onSearchChange: function(args) { showLoader(); with (args) { _criteria = search; }; loadStats(); }, preLoadListings: function(listings) { _listings = listings; }, getAreaID: function() { return _area_id; }, getAreaTypeID: function() { return _area_type_id; }, showLoader: function() { showLoader(); }, hideLoader: function() { hideLoader(); }, modo: function(name) { $j("#" + name).dialog('open'); return false; }, getURL: function() { return _url; }, setURL: function(url) { _url = url; }, goToPath: function(path) { window.location = _url + path + Sawbuck.SearchManager.getHash(); return false; }, goToArea: function(areaID) { window.location = window.location.pathname.replace(/[0-9]+$/, areaID); }, addHash: function(link) { window.location = link.href + Sawbuck.SearchManager.getHash(); return false; }, toggleMenu: function(menu) {
		if ($j(menu).parent().parent().hasClass("on")) { $j("ul.dropdown.on .menu").siblings().css('visibility', 'hidden'); $j("ul.dropdown").removeClass("on"); return false; }
		$j(menu).siblings().css('visibility', 'visible'); var ul = $j(menu).parent().parent(); ul.addClass("on"); return false;
	}, loaded: function() { return true; } 
	};
} ();
