
var http;
if (window.XMLHttpRequest)     { http = new XMLHttpRequest(); }
else if (window.ActiveXObject) { http = new ActiveXObject("Microsoft.XMLHTTP"); }
var datetime;
http.onreadystatechange = function() {
	if (http.readyState == 4 && http.status == 200 && http.responseText != "12/31/1969 19:00:00") {
		datetime.value = http.responseText;
	}
}
function getDateTime(input) {
	datetime = input;
	if (input.value.length > 2) {
		http.open("GET", "strtotime.php?time=" + encodeURIComponent(input.value), true);
		http.send(null);
	}                  
}

var map;
var marker;
function mapClick(overlay, point) {
	if (!point) { return; }
	if (marker) {
		map.removeOverlay(marker);
		GEvent.clearListeners(marker, "dragend");
	}
	marker = new GMarker(point, {"draggable": true});
	map.addOverlay(marker);
	GEvent.addListener(marker, "dragend", markerDragend);
	markerDragend();
}
function markerDragend() {
	document.getElementById("geolocation").value = marker.getLatLng().toUrlValue();
}


function onchangeTrim() { trim(this); }
function trim(element) {
	element.value = element.value.replace(/^\s+/,"").replace(/\s+$/,"");
	if (element.oldonchange) { element.oldonchange(); }
}

function getInitial(str) {
	var match = str.match(/[a-zA-Z]/);
	if (match && match[0]) { return match[0]; }
	return "";
}
function checkInits() {
	var first = getInitial(document.getElementById("firstName").value);
	var middle = getInitial(document.getElementById("middleInit").value);
	var last = getInitial(document.getElementById("lastName").value);
	var checkDiv = document.getElementById("initsCheckDiv");
	if (first && last) {
		checkDiv.innerHTML = "Your initials are " + (first + middle + last).toUpperCase() + ". Make sure your filenames match this.";
	}
	else { checkDiv.innerHTML = ""; }
}


function initMapAndInputs() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("gmap"));
		map.addMapType(G_SATELLITE_MAP);
		//map.addControl(new GMapTypeControl());
		map.addControl(new GSmallZoomControl());
		map.setCenter(new GLatLng(42.406561, -71.119056), 15);
		map.setMapType(G_HYBRID_MAP);
		GEvent.addListener(map, "click", mapClick);
	}
	var inputs = document.getElementsByTagName("input");
	for (var i = 0; i < inputs.length; i++) {
		var input = inputs[i];
		if (input.type == "text") {
			if (input.onchange) { input.oldonchange = input.onchange; }
			input.onchange = onchangeTrim;
		}
	}
	var inputs = document.getElementsByTagName("textarea");
	for (var i = 0; i < inputs.length; i++) {
		var input = inputs[i];
		if (input.onchange) { input.oldonchange = input.onchange; }
		input.onchange = onchangeTrim;
	}
}

// begin popup help code
var activePopup;
function showPopup(popup, clickEvent) {
	if (!clickEvent) { clickEvent = window.event; }
	if (activePopup) { hidePopup(activePopup); }
	var x = 0;
	var y = 0;
	if (clickEvent.pageX || clickEvent.pageY) {
		x = clickEvent.pageX;
		y = clickEvent.pageY;
		window.console.log("clickEvent: " + x + " " + y);
	}
	else if (clickEvent.clientX || clickEvent.clientY) {
		x = clickEvent.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		y = clickEvent.clientY + document.body.scrollRight + document.documentElement.scrollRight;
	}
	popup.style.left = String(x - 190) + "px";
	popup.style.top  = String(y - 120) + "px";
	popup.style.display = "block";
	activePopup = popup;
}
function hidePopup(popup) {
	popup.style.display = "none";
	activePopup = null;
}
