function get_buyerblock_data(){
	var price = document.getElementById('price');
	var output = document.getElementById('buyer_block_output');
	var ajax = get_ajax();
	
	ajax.onreadystatechange  = function() {
		if(ajax.readyState == 4) {
			if(ajax.status  == 200) {
				var response = ajax.responseText;
				var data = eval("(" + response + ")");
				output.innerHTML = data.html;
			} else {
				alert('Ajax error' + ajax.status);
			}

		}
	};

	var data = "price=" + urlencode(price.value);
	
	ajax.open("POST", "/ajax/get-buyer-data", true); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	ajax.send(data);
}

function get_rise_fall_months(token) {

	var ajax = get_ajax();
	var year  = document.getElementById('london_prices_year').value;
    var error = document.getElementById('london_property_prices_error');
    error.style.display = 'none';

	var token = token;

	// set the picture
	ajax.onreadystatechange  = function() {
		if(ajax.readyState == 4) {
			if(ajax.status  == 200) {
				var response = ajax.responseText;
				var data = eval("(" + response + ")");

				document.getElementById('london_prices_month').innerHTML = data.data;
			} else {
				alert('Ajax error' + ajax.status);
			}

		}
	};

	var data = "year=" + urlencode(year) + "&token=" + urlencode(token);
	
	ajax.open("POST", "/ajax/get-months", true); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	ajax.send(data);
 
}



function get_rise_fall_stats(token, isMonth) 
{
	var ajax = get_ajax();
	
	var month  = document.getElementById('london_prices_month').value;
	var year  = document.getElementById('london_prices_year').value;
	
	var increasing = document.getElementById('num_increasing_boroughs');
	var stable     = document.getElementById('num_stable_boroughs');
	var decreasing = document.getElementById('num_decreasing_boroughs');

    var error = document.getElementById('london_property_prices_error');
    error.style.display = 'none';

	var embed = document.getElementById('london_property_prices_inner');

	var token = token;
	
	if(!isMonth)
	{
		get_rise_fall_months(token);
		month = 1;
		
		if(year == 1995)
		{
			month = 2;
		}
	}
	
	// set the picture
	ajax.onreadystatechange  = function() 
	{
		if(ajax.readyState == 4) 
		{
			if(ajax.status  == 200) 
			{
				var response = ajax.responseXML;
				//alert(response);

				// Todo: Remove this line later. Talk to John.
				document.getElementById('rise_fall_stats_pie_chart').src = '/graph-rise-fall-stats.php?year=' + year + '&month=' + month;
				
				xml_increasing = response.getElementsByTagName('increasing');
				v_increasing = xml_increasing[0].firstChild.nodeValue;

				xml_stable = response.getElementsByTagName('stable');
				v_stable = xml_stable[0].firstChild.nodeValue;

				xml_decreasing = response.getElementsByTagName('decreasing');
				v_decreasing = xml_decreasing[0].firstChild.nodeValue;

                if((v_increasing == 0) && (v_stable == 0) && (v_decreasing == 0)) 
                {
                   // error.style.display = 'block';
                } 
                else 
                {
       				document.getElementById('rise_fall_stats_pie_chart').src = '/graph-rise-fall-stats.php?year=' + year + '&month=' + month;       				
                }
                increasing.innerHTML = v_increasing;
                stable.innerHTML = v_stable;
                decreasing.innerHTML = v_decreasing;
			} 
			else 
			{
				alert('Ajax error' + ajax.status);
			}

            embed.innerHTML = embed.innerHTML.replace(/year=([0-9]{4})/, 'year=' + year);
            embed.innerHTML = embed.innerHTML.replace(/month=([0-9]+)/, 'month=' + month);
		}
	};

	var data = "month=" + urlencode(month) + "&year=" + urlencode(year) + "&token=" + urlencode(token);

	ajax.open("POST", "/ajax/get-rise-fall-stats", true);
	//ajax.open("POST", "/includes/core/ajax_get_rise_fall_stats.php", true);
	
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	ajax.send(data); 
}

function get_fastest_rising_stats(date_type, token) {

	var ajax = get_ajax();
	
	var loading    = document.getElementById('fastest_rising_loading');
	var graph      = document.getElementById('fastest_rising_stats_graph');
	var copy_inner = document.getElementById('fastest_rising_copy_inner');
	var token      = token;

	loading.style.display = 'block';

	ajax.onreadystatechange  = function() {
		if(ajax.readyState == 4) {
			if(ajax.status  == 200) {
				var response = ajax.responseXML;
				//alert(response);
				
				loading.style.display = 'none';
				
				stats = response.getElementsByTagName('stat');
				for(var a = 0, b = 1; a < stats.length; a++, b++) {
					
					var region = stats[a].getElementsByTagName('region');
					document.getElementById('fastest_rising_name_' + b).innerHTML = '<a href="/borough/' + urlencode(region[0].firstChild.nodeValue.toLowerCase()) + '">' + region[0].firstChild.nodeValue + '</a>';

					var date = stats[a].getElementsByTagName('date');
					document.getElementById('fastest_rising_date_' + b).innerHTML = date[0].firstChild.nodeValue;

					var price = stats[a].getElementsByTagName('av_price');
					document.getElementById('fastest_rising_price_' + b).innerHTML = price[0].firstChild.nodeValue;

					var change = stats[a].getElementsByTagName('change');
					document.getElementById('fastest_rising_change_' + b).innerHTML = change[0].firstChild.nodeValue;
				}

				graph.src = '/graph-fastest-rising.php?date_type=' + date_type;

				copy_inner.innerHTML = copy_inner.innerHTML.replace(/date_type=[0-9]+/, 'date_type=' + date_type);
				
			} else {
				alert('Ajax error' + ajax.status);
			}
		}
	};

	var data = "date_type=" + urlencode(date_type) + "&token=" + urlencode(token);
	
	ajax.open("POST", "/ajax/get-fastest-rising-stats", true); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	ajax.send(data);
 
}


function get_price_crash_stats(date_type, token) {

	var ajax = get_ajax();
	
	var loading    = document.getElementById('price_crashes_loading');
	var graph      = document.getElementById('price_crash_stats_graph');
	var copy_inner = document.getElementById('price_crashes_copy_inner');
	var token      = token;

	loading.style.display = 'block';

	ajax.onreadystatechange  = function() {
		if(ajax.readyState == 4) {
			if(ajax.status  == 200) {
				var response = ajax.responseXML;
				//alert(response);
				
				loading.style.display = 'none';
				
				stats = response.getElementsByTagName('stat');
				for(var a = 0, b = 1; a < stats.length; a++, b++) {
					var region = stats[a].getElementsByTagName('region');
					document.getElementById('price_crash_name_' + b).innerHTML = '<a href="/borough/' + urlencode(region[0].firstChild.nodeValue.toLowerCase()) + '">' + region[0].firstChild.nodeValue + '</a>';

					var date = stats[a].getElementsByTagName('date');
					document.getElementById('price_crash_date_' + b).innerHTML = date[0].firstChild.nodeValue;

					var price = stats[a].getElementsByTagName('av_price');
					document.getElementById('price_crash_price_' + b).innerHTML = price[0].firstChild.nodeValue;

					var change = stats[a].getElementsByTagName('change');
					document.getElementById('price_crash_change_' + b).innerHTML = change[0].firstChild.nodeValue;
				}

				graph.src = '/graph-price-crashes.php?date_type=' + date_type;

				copy_inner.innerHTML = copy_inner.innerHTML.replace(/date_type=[0-9]+/, 'date_type=' + date_type);

			} else {
				alert('Ajax error' + ajax.status);
			}
		}
	};

	var data = "date_type=" + urlencode(date_type) + "&token=" + urlencode(token);
	
	ajax.open("POST", "/ajax/get-price-crash-stats", true); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	ajax.send(data);
 
}


function get_highest_sales_stats(date_type, token) {

	var ajax = get_ajax();
	
	var loading = document.getElementById('highest_sales_loading');
	var graph = document.getElementById('highest_sales_stats_graph');
	var token = token;

	loading.style.display = 'block';

	ajax.onreadystatechange  = function() {
		if(ajax.readyState == 4) {
			if(ajax.status  == 200) {
				var response = ajax.responseXML;
				//alert(response);
				
				loading.style.display = 'none';
				
				stats = response.getElementsByTagName('stat');
				for(var a = 0, b = 1; a < stats.length; a++, b++) {
					var region = stats[a].getElementsByTagName('region');
					document.getElementById('highest_sales_name_' + b).innerHTML = '<a href="/borough/' + urlencode(region[0].firstChild.nodeValue.toLowerCase()) + '">' + region[0].firstChild.nodeValue + '</a>';

					var date = stats[a].getElementsByTagName('date');
					document.getElementById('highest_sales_date_' + b).innerHTML = date[0].firstChild.nodeValue;

					var price = stats[a].getElementsByTagName('av_price');
					document.getElementById('highest_sales_price_' + b).innerHTML = price[0].firstChild.nodeValue;

					var numsold = stats[a].getElementsByTagName('num_sold');
					document.getElementById('highest_sales_num_sold_' + b).innerHTML = numsold[0].firstChild.nodeValue;
				}

				graph.src = '/graph-highest-sales.php?date_type=' + date_type;
				
			} else {
				alert('Ajax error' + ajax.status);
			}
		}
	};

	var data = "date_type=" + urlencode(date_type) + "&token=" + urlencode(token);
	
	ajax.open("POST", "/ajax/get-highest-sales-stats", true); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	ajax.send(data);
 
}

function get_lowest_sales_stats(date_type, token) {

	var ajax = get_ajax();
	
	var token = token;

	ajax.onreadystatechange  = function() {
		if(ajax.readyState == 4) {
			if(ajax.status  == 200) {
				var response = ajax.responseText;
				alert(response);

				document.getElementById('lowest_sales_stats_pie_chart').src = '/graph-lowest-sales.php?date_type=' + date_type;					
				
			} else {
				alert('Ajax error' + ajax.status);
			}
		}
	};

	var data = "date_type=" + urlencode(date_type) + "&token=" + urlencode(token);
	
	ajax.open("POST", "/ajax/get-lowest-sales-stats", true); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	ajax.send(data);
 
}


function subscribe_to_newsletter(token) {

	var ajax = get_ajax();

	var loading = document.getElementById('newsletter_loading');
	var email = document.getElementById('email');
	var block = document.getElementById('block-middle-newsletter');
	var token = token;

	loading.style.display = 'block';

	ajax.onreadystatechange  = function() {
		if(ajax.readyState == 4) {
			if(ajax.status  == 200) {
				var response = ajax.responseText;
				//alert(response);
				
				loading.style.display = 'none';
				
				if(response == '1') {
					block.innerHTML = '<p style=\"color:#009900;\">Thank you for subscribing.</p>';
				} else {
					block.innerHTML = block.innerHTML + '<p style="color:#db2204;">There was an error while processing your request.</p>';
				}
				
			} else {
				alert('Ajax error' + ajax.status);
			}
		}
	};

	var data = "email=" + urlencode(email.value) + "&token=" + urlencode(token);
	
	ajax.open("POST", "/ajax/subscribe_to_newsletter", true); 
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	ajax.send(data);
 
}

