var timeoutId;

function newsletterForm(inputObj, onOff) {
	switch(onOff) {
		case "on":
			if(inputObj.value == "email address") inputObj.value = "";
		break;

		case "off":
			if(inputObj.value == "") inputObj.value = "email address";
		break;
	}
}


function addNewsletterEmail() {
	var emailText = $("newsletter_email").value;

	if(emailText != "email address" && emailText != "") {
		if(window.XMLHttpRequest) {
	  		var emailNoteReq = new XMLHttpRequest();
	  	}
	  	else if(window.ActiveXObject) { // for IE
			try {
				var emailNoteReq = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				var emailNoteReq = new ActiveXObject("Microsoft.XMLHTTP");
			}
	  	}
	  	
	  	emailNoteReq.onreadystatechange = function() {
	  		if (emailNoteReq.readyState == 4 && emailNoteReq.status == 200) {
	  			processNewsletterEmail(emailNoteReq.responseText);
	  		}
	  	};
	  	emailNoteReq.open("POST", "newsletter_signup.php", true);
		emailNoteReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	  	emailNoteReq.send("newEmail=" + emailText);
	} else {
		showFeedback("error", "Please enter your email address\nto sign up for our newsletter.");
	}
}

function processNewsletterEmail(response) {
	var responseArr = response.split("|");
	var feedbackType = responseArr[0];
	var feedbackMsg = responseArr[1];
	
	showFeedback(feedbackType, feedbackMsg);
}

function showFeedback(feedbackType, feedbackMsg) {
	if( timeoutId ) clearTimeout(timeoutId);
	
	if( !$("feedback_box") ) {
		var newsDiv = $("newsletter_sign_up");
		var feedbackBox = document.createElement("div");
		feedbackBox.id = "feedback_box";
		feedbackBox.className = feedbackType;
		
		newsDiv.appendChild(feedbackBox);
		
		feedbackBox.innerHTML = feedbackMsg;
	} else {
		var feedbackBox = $("feedback_box");
		feedbackBox.className = feedbackType;

		feedbackBox.innerHTML = feedbackMsg;
	}
	
	timeoutId = setTimeout("hideFeedback()", 3500);
}

function hideFeedback() {
	if( $("feedback_box") ) {
		var feedbackBox = $("feedback_box");

		feedbackBox.parentNode.removeChild(feedbackBox);
	}	
}


function $(element_id) {
	var thisElement = document.getElementById(element_id);
	if(thisElement)
		return thisElement;
}
