// Some ajax functions
http = createRequestObject();

var placeRadios = new Array();
var placeQus = new Array();

function checkRadio(id, val) {
	placeRadios[id] = val;
}

function checkQu(id) {
	placeQus[id] = true;
}

function submitPolygonChange(post_id, poly_string) {
	var params = 'mode=8&poly_string=' + poly_string + '&post_id=' + post_id;
	http.open("POST", '/sb_classes/ajax.functions.php', true);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
		}
	};
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	http.send(params);
}

function submitRadios(postID, userID, form) {
	showLoading();
	var radioString = '';
	for (id in placeRadios) {
		radioString += '|' + id + '|' + placeRadios[id];
	}
	var params = 'mode=2&post_id=' + postID + '&user_id=' + userID + '&radios=' + radioString.substring(1);
	http.open("POST", '/sb_classes/ajax.functions.php', true);
	http.onreadystatechange = httpResponse;
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	http.send(params);
}

function getQusForm(postID, userID) {
	showLoading();
	var params = 'mode=2&post_id=' + postID + '&user_id=' + userID + '&radios=0';
	http.open("POST", '/sb_classes/ajax.functions.php', true);
	http.onreadystatechange = httpResponse;
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	http.send(params);
}

function submitQus(postID, userID, form) {
	var quString = '';
	
	for (id in placeQus) {
		if (placeQus[id] == true) {
			quString += '|' + id + '|' + document.getElementById('qu_'+id).value;	
		}
	}
//	alert(quString);
	
	var params = 'mode=3&post_id=' + postID + '&user_id=' + userID + '&elements=' + quString.substring(1);
	showLoading();
	http.open("POST", '/sb_classes/ajax.functions.php', true);
//	alert(els);
	http.onreadystatechange = httpResponse;
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	http.send(params);
}

function getCommentForm(postID) {
	showLoading();
	var params = 'mode=1&post_id=' + postID;
	http.open("POST", '/sb_classes/ajax.functions.php', true);
	http.onreadystatechange = httpResponse;
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	http.send(params);
}

function getIdeaCommentForm() {
	showLoading();
	var params = 'mode=6';
	http.open("POST", '/sb_classes/ajax.functions.php', true);
	http.onreadystatechange = httpResponse;
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	http.send(params);
}

function getRateThisPlaceForm() {
	var commm = document.getElementById('addCommentLink');
	if (commentMarker) {
		map.removeOverlay(markers['comment']);
	}
	map.closeInfoWindow();
	commm.innerHTML = '<span><img src="/wp-content/images/icon-lightbulb.png" /> add my idea</span></a>';
	commm.onclick = function() { addComment(); };
	commentMarker = false;
	var mapForm = document.getElementById('map-right-inner');
	mapForm.innerHTML = rateForm;
}

function getEmailForm(id) {
	showLoading();
	var params = 'mode=7&location_id=' + id;
	http.open("POST", '/sb_classes/ajax.functions.php', true);
	http.onreadystatechange = httpResponse;
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	http.send(params);
}

function getEventForm() {
	showLoading();
	var params = 'mode=5';
	http.open("POST", '/sb_classes/ajax.functions.php', true);
	http.onreadystatechange = httpResponse;
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	http.send(params);
}

function rateMarker(markerID, userID, rating) {
	var params = 'mode=4&marker_id=' + markerID + '&user_id=' + userID + '&rating=' + rating;
	http.open("POST", '/sb_classes/ajax.functions.php', true);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			eval("var el = document.getElementById('rate"+markerID+"')");
			el.innerHTML = http.responseText;
		}
	};
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	http.send(params);
}

function httpResponse() {
	if (http.readyState == 4) {
		// Finished loading the response
		var mapForm = document.getElementById('map-right-inner');
		mapForm.innerHTML = http.responseText;
		//alert(http.responseText);
		//hideLoading();
	}
}

function validateFormOnSubmit(num) {
  if (document.getElementById('newCommentLat').value == 0) {
		map.openInfoWindow('<div class="commentBalloon"><h1>wait!</h1><p>where does your idea go?</p></div>');
    return false;
  }
  return true;
}


// BROWSER DETECT__________________________________________________________________________________
// get the browser specific XMLHTTPRequest object
function createRequestObject() {
	var http_request = false;
	if (window.XMLHttpRequest) {
		// Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) {
		// Internet Explorer
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		// browser cannot support AJAX
		alert('Cannot create XMLHTTP instance');
		return false;
	} else {
		return http_request;
	}
}

// LOADING FUNCTIONS_______________________________________________________________________________
function showLoading() {
	var m = document.getElementById('map-right-inner');
	m.innerHTML = '<div style="text-align:center;margin-top:120px;">LOADING<br /><img src="/wp-content/images/loading.gif" style="margin-top:10px;" /></div>';
}

function hideLoading() {
	var loader = document.getElementById('loading');
	loader.style.visibility = 'hidden';
}

