// Start up and initialize AJAX
function initializeAjax() {
	var xmlHttp;
	try {
		// Firefox, Opera 8.0+, Safari, and other good browsers
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		// Internet Explorer
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				return false;
			}
		}
	}
	
	return xmlHttp;
}

function $(element) {
	return document.getElementById(element);
}

function removeChildNodes(element) {
	while ( true == element.hasChildNodes() ) {
		element.removeChild( element.lastChild );
	}
}

function registerNewsletter() {
	var newsletter_name = encodeURIComponent( $('newsletter_name').value );
	var newsletter_email = encodeURIComponent( $('newsletter_email').value );
		
	var signup_form = $('signup_form');
	removeChildNodes(signup_form);

	// Create the registration image
	var img = document.createElement('img');
	img.src = 'https://mk1.netatlantic.com/subscribe/subscribe.tml?email=' + newsletter_email + '&confirm=confirm_one&name=' + newsletter_name + '&list=miam';
	img.width = 1;
	img.height = 1;
	signup_form.appendChild(img);
	
	/*
	var img = document.createElement('img');
	img.src = 'https://mk1.netatlantic.com/subscribe/subscribe.tml?email=' + newsletter_email + '&confirm=confirm_one&name=' + newsletter_name + '&list=quote';
	img.width = 1;
	img.height = 1;
	signup_form.appendChild(img);
	*/
	
	// Create the ajax spinner
	var img = document.createElement('img');
	img.src = '/images/ajax_spinner_long.gif';
	img.align = 'middle';
	signup_form.appendChild(img);
	
	// Show the thank you
	setTimeout( function() { signup_form.innerHTML = 'Thank you for taking the time to register with Motivation In A Minute.'; }, 2000);
}

function animate(elem) {
	var stepCount = 0;
	var totalSteps = 10;
	
	var top = new_top = 0;
	elem.goDown = window.setInterval(
		function() {
			top = ease(0, 75, totalSteps, stepCount, .3);
			elem.style.top = top + 'px';
			stepCount++;
			if ( stepCount > totalSteps ) {
				window.clearInterval(elem.goDown);
				
				stepCount = 0;
				
				elem.goUp = window.setInterval( 
					function() {
						new_top = ease(0, 30, totalSteps, stepCount, .5);
						elem.style.top = ( top - new_top ) + 'px';
						stepCount++;
						if ( stepCount > totalSteps ) {
							window.clearInterval(elem.goUp);
						}
					}, 10
				);
			}
		}, 20
	);
}

function closeDropin(elem) {
	$('dropin').style.display = 'none';
}

function ease(min, max, steps, perstep, powr) {
	var delta = max - min; 
	var stepp = min + ( Math.pow( ( (1 / steps) * perstep), powr) * delta );

	return stepp;
}

function validateNlForm() {
	var newsletter_name = $('newsletter_name');
	var newsletter_email = $('newsletter_email');
	
	var error_str = '';
	if ( '' == newsletter_name.value ) {
		//error_str += "Please enter a first name.\n";
	}
	
	var email_regex = /([a-z0-9-_.!#$%^&*~`]+)(@[a-z0-9-]+\.[a-z]+)/i;
	var regex = new RegExp(email_regex);
	
	if ( false == regex.test( newsletter_email.value ) ) {
		error_str += "Please enter a valid email address\n";
	}
	
	var signup_form = $('signup_form');
	
	if ( error_str.length > 0 ) {
		alert(error_str);
	} else {
		$('signup_form').submit();
	}
}