/**
 * Code by Travis Scheidegger
 * 
 * CUSTOM SITE JS
 *
 *
 *
 *
 */

$(document).ready(function() {

	Shadowbox.init({
		slideshowDelay: 3,
		fadeDuration: 1
	});

	/*************************************************** LEFT COLUMN */
	/**************************************************/
	
	$('.left-column').after('<div class="left-column-bottom"></div>').append('<div class="clearer">&nbsp;</div>');

	/*************************************************** SIDEBAR */
	/**************************************************/
	
	$('#sidebar').before('<div class="sidebar-top"></div>').after('<div class="sidebar-bottom"></div>');
	
	/*************************************************** EDIT LINKS */
	/**************************************************/
	
	$('.post-edit-link,.edit-link').after('<div class="clearer">&nbsp;</div>');
	
	/*************************************************** NEWSLETTER */
	/**************************************************/
		
	$('.widget_newslettersignupwidget .widget-title').toggle(function() {
		$('.widget_newslettersignupwidget').animate({ 'top': '-160px' }, 500);
	},function() {
		$('.widget_newslettersignupwidget').animate({ 'top': '-20px' }, 200);
	});
	
	/*************************************************** VALIDATE EMAIL */
	/**************************************************/
		
	$('#driltk-driltk').keyup(function(){
		var email = $('#driltk-driltk').val();
		if(email != 0) {
			if(isValidEmailAddress(email)) {
				$('#driltk-driltk').css({ 'background-color': '#e7f4c9' });
				$('.widget_newslettersignupwidget label span').addClass('hide').removeClass('show');
			} else {
				$('#driltk-driltk').css({ 'background-color': '#f5cebc' });
			}
		} else {
			$('#validEmail').css({ 'background-color': 'none' });
		}
	});

});

/*
####################################################
####################################################
#################################################### AJAX FUNCTIONS
####################################################
####################################################
*/

window.onload = initPage;

function createRequest() {
	try {
		request = new XMLHttpRequest();
	} catch (tryMS) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (otherMS) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
				request = null;
			}
		}
	}	
	return request;
}

function initPage() {
	$("#register-button").click(function() {
		if(isValidEmailAddress($("#driltk-driltk").val())) {
			registerUser();
			$('#newsletter-processing').addClass('show').removeClass('hide');
		} else {
			$('.widget_newslettersignupwidget label span').addClass('show').removeClass('hide');
			$("#driltk-driltk").css({ "background-color": "#f5cebc" });
			$('#driltk-driltk').effect('pulsate');
			$('#driltk-driltk').focus();
		}
	});
}

function registerUser() {
	registerRequest = createRequest();
	if (registerRequest == null) {
		alert("Unable to create request.");
	} else {
/* 		alert("Created request."); */
		var url = "http://emarketing.abramsadvertising.com/t/r/s/driltk/";

		var requestData = "cm-name=" + 
			escape($("#name").val()) + "&cm-driltk-driltk=" +
			escape($("#driltk-driltk").val());
		registerRequest.onreadystatechange = registrationProcessed;
		registerRequest.open("POST", url, true);
		registerRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		registerRequest.send(requestData);
	}
}

function registrationProcessed() {
/* 	alert("Ready State:" + registerRequest.readyState); */
	if (registerRequest.readyState == 4) {
		$('#newsletter-processing').removeClass('show').addClass('hide');
		$('#newsletter-success').addClass('show').removeClass('hide');
/*
		if (registerRequest.status == 200) {
		}
*/
	}
}
function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}
