var slidePos;

function makePOSTRequest(url, parameters) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	http_request.onreadystatechange = alertContents;
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-Length", parameters.length);
	//http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function alertContents() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
            result = http_request.responseText;
            if (result == "-1") {
            	alert("That e-mail address has already registered.");
            	document.getElementById("subscribeButton").removeAttribute("disabled");	
            } else {
            	alert("Thank you!  You have successfully registered for updates!");
            	document.getElementById("popup").style.display = "none";
            }
		}
	}
}

function popupValidEmail() {
	var oElement = document.getElementById("popupEmail");
	var reEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var vValue = oElement.getAttribute("value");
	if(vValue ==null){
		vValue = oElement.value;
		if (vValue == null)
			vValue ="";
	}
	
	if(vValue != "" && !reEmail.test(vValue)){
		message = "You have entered an invalid E-mail address\n";
		message = message + "E-mail addresses must have an '@' and a '.' in them.";
		alert(message);
		return false;
	} else if (vValue == "")
		return false;
	else {
		var oMyForm = document.newsFeed;
		var submit = "";
		for (var i = 0; i < oMyForm.length; i++) {
			if (oMyForm[i].name != "" && oMyForm[i].type != "button") {
				submit = submit + "&" + oMyForm[i].name + "=" + encodeURI(oMyForm[i].value);
			}
		}
		submit = submit.substr(1, submit.length);
		document.getElementById("subscribeButton").setAttribute("disabled", "disabled");
		makePOSTRequest('subscribeNewsFeed.wc', submit);
	}
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}

function popupLoadSlide(newSlidePos) {
	slidePos = newSlidePos;
	
	var parent = document.getElementById("popupLeft");
	var child = parent;
	var numChildren = 0;
	
	while (child.nextSibling && child.nextSibling.id != "popupRight") {
		child = child.nextSibling;
		if (child.tagName == "TD") {
			numChildren++;
			child.style.display = "none";
		}
	}
	
	if (slidePos > numChildren - 5)
		slidePos = numChildren - 5;
		
	if (slidePos < 0)
		slidePos = 0;

	child = parent.nextSibling;
	if (child.tagName != "TD") {
		while (child.tagName != "TD")
			child = child.nextSibling;
	}
	
	for (var j = 0; j < slidePos; j++) {
		child = child.nextSibling;
		while (child.tagName != "TD")
			child = child.nextSibling;
	}
	
	for (var i = 0; i < 5; i++) {
		child.style.width = "120px";
		child.style.display = "";
		child = child.nextSibling;
		while (child.tagName != "TD")
			child = child.nextSibling;
	}
	
	if (slidePos == 0)
		document.getElementById("popupGoLeft").setAttribute("disabled", "true");
	else
		document.getElementById("popupGoLeft").removeAttribute("disabled");
	
	if (numChildren > slidePos + 5)
		document.getElementById("popupGoRight").removeAttribute("disabled");
	else
		document.getElementById("popupGoRight").setAttribute("disabled", "true");
}

function loadPopup() {
	var parent = document.getElementById("header");
	var popup = document.getElementById("popupContents");
	var coords = findPos(parent);
	popup.style.left = coords[0] + "px";
	popup.style.top = coords[1] + 30 + "px";
	
	parent = document.getElementById("popup");
	
	parent.style.height = screen.availHeight + "px";
	//parent.style.width = document.width + "px";
	parent.style.display = "block";
	
	popupLoadSlide(0);	
}

function closePopup() {
	document.getElementById("popup").style.display="none";
}