// Ajax 
var ajax_req;
var httpRequest;

// Get an XMLHttpRequest object in a portable way.
function newRequest()
{
	ajax_req = false;
	// For Safari, Firefox, and other non-MS browsers
	if (window.XMLHttpRequest) {
		try {
			ajax_req = new XMLHttpRequest();
		}
		catch (e) {
			ajax_req = false;
		}
	}
	else if (window.ActiveXObject) {
		// For Internet Explorer on Windows
		try {
			ajax_req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				ajax_req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				ajax_req = false;
			}
		}
	}
}
function newRequestForce()
{
	var ajax_req2 = false;
	// For Safari, Firefox, and other non-MS browsers
	if (window.XMLHttpRequest) {
		try {
			ajax_req2 = new XMLHttpRequest();
		}
		catch (e) {
			ajax_req2 = false;
		}
	}
	else if (window.ActiveXObject) {
		// For Internet Explorer on Windows
		try {
			ajax_req2 = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				ajax_req2 = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				ajax_req2 = false;
			}
		}
	}
	return ajax_req2;
}
var communityAlertResultSplit = '###';
var communityAlertResultStatusOk = '1';
var communityAlertResultStatusError = '0';

// This method is called onLoad in main-template
function pollCommunityAlerts()
{
	// Om det redan finns ett request, avbryt här
	if(ajax_req){
		//alert("Det pågår redan en hämtning av data här, vänta lite eller ladda om sidan");
		return;
	}

	if(! document.getElementById('communityAlertContainer'))
	{
		alert("Kan inte hämta community alerts, ingen container finns");
		return;
	}

	var asynchronous = true;
	newRequest();
	
	var encoded = "";
	encoded = "action=community_alert";

	ajax_req.open("POST", "/_scripts/ajax_handler.php", asynchronous);
	ajax_req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
	ajax_req.onreadystatechange = pollCommunityAlerts_Handler;
	ajax_req.send(encoded);
}

function pollCommunityAlerts_Handler()
{
	var nextRound = 45000;
	if (ajax_req.readyState != 4) {
		// We're not ready yet.
		return;
	}
	if (ajax_req.status == 200) {
		if (ajax_req.responseText) {
			// The good stuff happens here!

			var retVal = ajax_req.responseText.split(communityAlertResultSplit);
			var html = retVal[1];
			var status = retVal[0];
			if(status == communityAlertResultStatusOk)
			{
				document.getElementById('communityAlertContainer').innerHTML = html;
				//Fat.fade_element('communityAlertContainer', null, null, '#cccccc');
//2011-05-05 raised to 30	nextRound = 15000;
				nextRound = 30000;
			}
			else
			{
				// Clear container
				document.getElementById('communityAlertContainer').innerHTML = '';
			}

		}
	} 
	else {
		// The web server gave us an error
	}
	setTimeout(pollCommunityAlerts, nextRound);
	ajax_req = null;
}

function pollCommunityAlertsId(id)
{
	// Om det redan finns ett request, avbryt här
	if(ajax_req){
		//alert("Det pågår redan en hämtning av data här, vänta lite eller ladda om sidan");
		return;
	}

	var asynchronous = true;
	newRequest();
	
	var encoded = "";
	encoded = "action=community_alert_id&id=" + escape(id);

	ajax_req.open("POST", "/_scripts/ajax_handler.php", asynchronous);
	ajax_req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	
	//ajax_req.onreadystatechange = pollCommunityAlerts_Handler;
	ajax_req.send(encoded);
}


function fetchMemberRecentPosts(memberId, blogName)
{
	// Om det redan finns ett request, avbryt här
	/*
	if(ajax_req){
		alert("Det pågår redan en hämtning... väntar halv sekund");
		setTimeout('fetchMemberRecentPosts()', 500);
		return;
	}
	*/

	var asynchronous = false;
	newRequest();
	var encoded = "";
	encoded = "action=member_recent_posts&memberId=" + escape(memberId) + "&blogName=" + escape(blogName);
	
	ajax_req.open("POST", "/_scripts/ajax_handler.php", asynchronous);
	ajax_req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	ajax_req.onreadystatechange = fetchMemberRecentPosts_Handler;
	ajax_req.send(encoded);
}

function fetchMemberRecentPosts_Handler()
{
	if (ajax_req.readyState != 4) {
		// We're not ready yet.
		return;
	}
	if (ajax_req.status == 200) {
		if (ajax_req.responseText) {
			// The good stuff happens here!

			var retVal = ajax_req.responseText.split(communityAlertResultSplit);
			var html = retVal[1];
			var status = retVal[0];
			if(status == communityAlertResultStatusOk)
			{
				document.getElementById('member_recent_posts').innerHTML = html;
			}
			else
			{
				document.getElementById('member_recent_posts').innerHTML = "* Hämtar senaste inlägg *";
			}
		}
	} 
	else {
		// The web server gave us an error
	}
	ajax_req = null;
}

