var inputValuesArr		= new Array();
inputValuesArr.email	= "Email address";
inputValuesArr.vemail	= "Confirm email address";

var phoneMethod			= false;
var pr					= false;

function handleInput(e, id) {
	var obj = document.getElementById(id);
	var val = obj.value;
	val = val.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
	var evt = e || window.event;
	switch (evt.type) {
		case 'focus'	:if (val == '' || val == inputValuesArr[id]) obj.value = '';break;
		case 'blur'		:if (val == '') obj.value = inputValuesArr[id];break;
		default			:break;
	}
}

function validateFormFalse(){return false;}

function notEmpty(elem, helperMsg){
	if(elem.value.length == 0){
		//alert(helperMsg);
		elem.focus(); // set the focus to this input
		return false;
	}
	return true;
}

function isNumeric(elem, helperMsg){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		//alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphabet(elem, helperMsg){
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		//alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphanumeric(elem, helperMsg){
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		//alert(helperMsg);
		elem.focus();
		return false;
	}
}

function lengthRestriction(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		//alert("Please enter between " +min+ " and " +max+ " characters");
		elem.focus();
		return false;
	}
}

function madeSelection(elem, helperMsg){
	if(elem.value == "0"){
		//alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function emailValidator(elem, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		//alert(helperMsg);
		elem.focus();
		return false;
	}
}

function methodChange(obj) {
	if(obj.options[obj.selectedIndex].value == "Phone") {
		$("#phonelabel > label").addClass("strong");
		phoneMethod = true;
	} else {
		$("#phonelabel > label").removeClass("strong");
		phoneMethod = false;
	}
}

function validateForm(val){
	var err=false;

	var email = document.getElementById('email');
	var cemail = document.getElementById('vemail');
	var firstname = document.getElementById('firstname');
	var lastname = document.getElementById('lastname');
	var month = document.getElementById('month');
	var year = document.getElementById('year');

	var errmsg = "<strong>Please complete the following fields:</strong><br /><ul>";

	if(!emailValidator(email))		{errmsg += "<li>Email</li>";err=true;}
	if(!emailValidator(cemail))		{errmsg += "<li>Confirm Email</li>";err=true;}
	if(cemail.value != email.value) {errmsg += "<li>Email addresses do not match</li>";err=true;}
	if(!notEmpty(firstname))		{errmsg += "<li>First Name</li>";err=true;}
	if(!notEmpty(lastname))			{errmsg += "<li>Last Name</li>";err=true;}
	if(!notEmpty(month) ||
	!isNumeric(month))				{errmsg += "<li>Birthday Month</li>";err=true;}
	if(!notEmpty(year) ||
	!isNumeric(year))				{errmsg += "<li>Birthday Year</li>";err=true;}
	errmsg += "</ul>";

	if(!err) return true;
	else {
		displayErrorMessage("error-message", errmsg);
		return false;
	}
}

function validateShortForm(val){
	var err=false, email, cemail;

	email = document.getElementById('email');
	cemail = document.getElementById('vemail');

	var errmsg = "<strong>Please complete the following fields:</strong><br /><ul>";
	
	if(!emailValidator(email))		{errmsg += "<li>Email</li>";err=true;}
	if(!emailValidator(cemail))		{errmsg += "<li>Confirm Email</li>";err=true;}
	if(cemail.value != email.value) {errmsg += "<li>Email addresses do not match</li>";err=true;}
	errmsg += "</ul>";
	
	if(!err) {
		return true;
	} else {
		displayErrorMessage("error-message", errmsg);
		return false;
	}
}

function validateContactForm(val) {
	var err=false, errmsg, email, cemail, comments, learn, firstname, lastname;

	email = document.getElementById('email');
	cemail = document.getElementById('vemail');
	firstname = document.getElementById('firstname');
	lastname = document.getElementById('lastname');
	comments = document.getElementById('comments');
	learn = document.getElementById('learn');

	errmsg = "<strong>Please complete the following fields:</strong><br /><ul>";
	
	if(!emailValidator(email))		{errmsg += "<li>Email</li>";err=true;}
	if(!emailValidator(cemail))		{errmsg += "<li>Confirm Email</li>";err=true;}
	if(cemail.value != email.value) {errmsg += "<li>Email addresses do not match</li>";err=true;}
	if(!notEmpty(firstname))		{errmsg += "<li>First Name</li>";err=true;}
	if(!notEmpty(lastname))			{errmsg += "<li>Last Name</li>";err=true;}
	if(!notEmpty(comments))			{errmsg += "<li>Comments</li>";err=true;}
	if(!madeSelection(learn))		{errmsg += "<li>How did you learn about The Skin Center Medical Spa?</li>";err=true;}
	
	errmsg += "</ul>";
	
	if(!err) return true;
	else {
		displayErrorMessage("error-message", errmsg);
		return false;
	}
}

function validateBrochureForm(val) {
	var err=false;

	var email = document.getElementById('email');
	var cemail = document.getElementById('vemail');
	var firstname = document.getElementById('firstname');
	var lastname = document.getElementById('lastname');
	var address = document.getElementById('address1');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var zipcode = document.getElementById('zipcode');
	var brochure = document.getElementById('brochure');
	var learn = document.getElementById('learn');

	var errmsg = "<strong>Please complete the following fields:</strong><br /><ul>";

	if(!emailValidator(email))		{errmsg += "<li>Email</li>";err=true;}
	if(!emailValidator(cemail))		{errmsg += "<li>Confirm Email</li>";err=true;}
	if(cemail.value != email.value) {errmsg += "<li>Email addresses do not match</li>";err=true;}
	if(!notEmpty(firstname))		{errmsg += "<li>First Name</li>";err=true;}
	if(!notEmpty(lastname))			{errmsg += "<li>Last Name</li>";err=true;}
	if(!notEmpty(address))			{errmsg += "<li>Address</li>";err=true;}
	if(!notEmpty(city))				{errmsg += "<li>City</li>";err=true;}
	if(!notEmpty(state))			{errmsg += "<li>State</li>";err=true;}
	if(!notEmpty(zipcode))			{errmsg += "<li>Zip</li>";err=true;}
	if(!notEmpty(brochure))			{errmsg += "<li>Which brochure are you interested in?</li>";err=true;}
	if(!madeSelection(learn))		{errmsg += "<li>How did you learn about The Skin Center Medical Spa?</li>";err=true;}
	
	errmsg += "</ul>";

	if(!err) return true;
	else {
		displayErrorMessage("error-message", errmsg);
		return false;
	}
}

function validateConsulationForm(val, preq) {
	var err=false;
	if(preq) pr = true;
	var email = document.getElementById('email');
	var cemail = document.getElementById('vemail');
	var firstname = document.getElementById('firstname');
	var lastname = document.getElementById('lastname');
	var address = document.getElementById('address1');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var zipcode = document.getElementById('zipcode');
	var location = document.getElementById('location');
	var time = document.getElementById('time');
	var month = document.getElementById('month');
	var year = document.getElementById('year');
	if(!pr) var method = document.getElementById('method');
	var learn = document.getElementById('learn');
	if(!pr) var concern = document.getElementById('concern');
	if(phoneMethod || pr) var phone = document.getElementById('phone');
	

	var errmsg = "<strong>Please complete the following fields:</strong><br /><ul>";

	if(!emailValidator(email))		{errmsg += "<li>Email</li>";err=true;}
	if(!emailValidator(cemail))		{errmsg += "<li>Confirm Email</li>";err=true;}
	if(cemail.value != email.value) {errmsg += "<li>Email addresses do not match</li>";err=true;}
	if(!notEmpty(firstname))		{errmsg += "<li>First Name</li>";err=true;}
	if(!notEmpty(lastname))			{errmsg += "<li>Last Name</li>";err=true;}
	if(!notEmpty(address))			{errmsg += "<li>Address</li>";err=true;}
	if(!notEmpty(city))				{errmsg += "<li>City</li>";err=true;}
	if(!notEmpty(state))			{errmsg += "<li>State</li>";err=true;}
	if(!notEmpty(zipcode))			{errmsg += "<li>Zip</li>";err=true;}
	if(!pr) { if(!madeSelection(concern))		{errmsg += "<li>Primary Area of Concern</li>";err=true;}}
	if(!madeSelection(location))	{errmsg += "<li>Preferred Location</li>";err=true;}
	if(!madeSelection(time))		{errmsg += "<li>Preferred Time</li>";err=true;}
	if(!pr) { if(!madeSelection(method))		{errmsg += "<li>Preferred Contact Method</li>";err=true;}}
	if(pr)	{ if(!notEmpty(phone)) 	{errmsg += "<li>Phone number</li>";err=true;}}
	else	{ if(phoneMethod && !notEmpty(phone)) {errmsg += "<li>Phone number</li>";err=true;} }
	if(!madeSelection(learn))		{errmsg += "<li>How did you learn about The Skin Center Medical Spa?</li>";err=true;}
	if(!notEmpty(month) ||
	!isNumeric(month))				{errmsg += "<li>Birthday Month</li>";err=true;}
	if(!notEmpty(year) ||
	!isNumeric(year))				{errmsg += "<li>Birthday Year</li>";err=true;}
	
	errmsg += "</ul>";

	if(!err) return true;
	else {
		displayErrorMessage("error-message", errmsg);
		return false;
	}
}

function validateDownloadForm(val) {
	var err=false;
	
	var email = document.getElementById('email');
	var cemail = document.getElementById('vemail');
	var firstname = document.getElementById('firstname');
	var lastname = document.getElementById('lastname');
	var address = document.getElementById('address1');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var zipcode = document.getElementById('zipcode');
	var learn = document.getElementById('learn');
	var concern = document.getElementById('concern');

	var errmsg = "<strong>Please complete the following fields:</strong><br /><ul>";

	if(!emailValidator(email))		{errmsg += "<li>Email</li>";err=true;}
	if(!emailValidator(cemail))		{errmsg += "<li>Confirm Email</li>";err=true;}
	if(cemail.value != email.value) {errmsg += "<li>Email addresses do not match</li>";err=true;}
	if(!notEmpty(firstname))		{errmsg += "<li>First Name</li>";err=true;}
	if(!notEmpty(lastname))			{errmsg += "<li>Last Name</li>";err=true;}
	if(!notEmpty(address))			{errmsg += "<li>Address</li>";err=true;}
	if(!notEmpty(city))				{errmsg += "<li>City</li>";err=true;}
	if(!notEmpty(state))			{errmsg += "<li>State</li>";err=true;}
	if(!notEmpty(zipcode))			{errmsg += "<li>Zip</li>";err=true;}
	if(!madeSelection(concern))		{errmsg += "<li>Primary Area of Concern</li>";err=true;}
	if(!madeSelection(learn))		{errmsg += "<li>How did you learn about The Skin Center Medical Spa?</li>";err=true;}
	
	errmsg += "</ul>";

	if(!err) return true;
	else {
		displayErrorMessage("error-message", errmsg);
		return false;
	}
}

function validateWelcomeForm(val) {
	var err=false;

	var email = document.getElementById('email');
	var cemail = document.getElementById('vemail');
	var firstname = document.getElementById('firstname');
	var lastname = document.getElementById('lastname');
	var address = document.getElementById('address1');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var zipcode = document.getElementById('zipcode');
	var location = document.getElementById('location');
	var learn = document.getElementById('learn');
	var concern = document.getElementById('concern');
	var month = document.getElementById('month');
	var year = document.getElementById('year');

	var errmsg = "<strong>Please complete the following fields:</strong><br /><ul>";

	if(!emailValidator(email))		{errmsg += "<li>Email</li>";err=true;}
	if(!emailValidator(cemail))		{errmsg += "<li>Confirm Email</li>";err=true;}
	if(cemail.value != email.value) {errmsg += "<li>Email addresses do not match</li>";err=true;}
	if(!notEmpty(firstname))		{errmsg += "<li>First Name</li>";err=true;}
	if(!notEmpty(lastname))			{errmsg += "<li>Last Name</li>";err=true;}
	if(!notEmpty(address))			{errmsg += "<li>Address</li>";err=true;}
	if(!notEmpty(city))				{errmsg += "<li>City</li>";err=true;}
	if(!notEmpty(state))			{errmsg += "<li>State</li>";err=true;}
	if(!notEmpty(zipcode))			{errmsg += "<li>Zip</li>";err=true;}
	if(!madeSelection(concern))		{errmsg += "<li>Primary Area of Concern</li>";err=true;}
	if(!madeSelection(learn))		{errmsg += "<li>How did you learn about The Skin Center Medical Spa?</li>";err=true;}
	if(!madeSelection(location))	{errmsg += "<li>Preferred Location</li>";err=true;}
	if(!notEmpty(month) ||
	!isNumeric(month))				{errmsg += "<li>Birthday Month</li>";err=true;}
	if(!notEmpty(year) ||
	!isNumeric(year))				{errmsg += "<li>Birthday Year</li>";err=true;}
	
	errmsg += "</ul>";

	if(!err) return true;
	else {
		displayErrorMessage("error-message", errmsg);
		return false;
	}
}

function validatePromotionalForm(val) {
	var err=false;

	var email = document.getElementById('email');
	var cemail = document.getElementById('vemail');
	var firstname = document.getElementById('firstname');
	var lastname = document.getElementById('lastname');
	var address = document.getElementById('address1');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var zipcode = document.getElementById('zipcode');
	var loc = document.getElementById('location-select');
	var learn = document.getElementById('learn');
	var method = document.getElementById('method');
	var month = document.getElementById('month');
	var year = document.getElementById('year');
	if(phoneMethod) var phone = document.getElementById('phone');

	var errmsg = "<strong>Please complete the following fields:</strong><br /><ul>";

	if(!emailValidator(email))		{errmsg += "<li>Email</li>";err=true;}
	if(!emailValidator(cemail))		{errmsg += "<li>Confirm Email</li>";err=true;}
	if(cemail.value != email.value) {errmsg += "<li>Email addresses do not match</li>";err=true;}
	if(!notEmpty(firstname))		{errmsg += "<li>First Name</li>";err=true;}
	if(!notEmpty(lastname))			{errmsg += "<li>Last Name</li>";err=true;}
	if(!notEmpty(address))			{errmsg += "<li>Address</li>";err=true;}
	if(!notEmpty(city))				{errmsg += "<li>City</li>";err=true;}
	if(!notEmpty(state))			{errmsg += "<li>State</li>";err=true;}
	if(!notEmpty(zipcode))			{errmsg += "<li>Zip</li>";err=true;}
	if(!madeSelection(loc))			{errmsg += "<li>Preferred Location</li>";err=true;}
	if(!madeSelection(method))		{errmsg += "<li>Preferred Contact Method</li>";err=true;}
	if(phoneMethod && !notEmpty(phone)) {errmsg += "<li>Phone number</li>";err=true;}
	if(!madeSelection(learn))		{errmsg += "<li>How did you learn about The Skin Center Medical Spa?</li>";err=true;}
	if(!notEmpty(month) ||
	!isNumeric(month))				{errmsg += "<li>Birthday Month</li>";err=true;}
	if(!notEmpty(year) ||
	!isNumeric(year))				{errmsg += "<li>Birthday Year</li>";err=true;}
	
	errmsg += "</ul>";

	if(!err) return true;
	else {
		displayErrorMessage("error-message", errmsg);
		return false;
	}
}

function displayErrorMessage(elem, errmsg) {
	var div = document.createElement('div');
	var em = document.getElementById(elem);
	div.innerHTML = errmsg;
	if(em.childNodes[0]) {
		em.removeChild(em.childNodes[0]);
	}
	em.appendChild(div);
	alert("Please correct the missing fields.");
}

function updateLocation(obj) {
	var location = document.getElementById("location");
	location.value = obj.substr(0, obj.indexOf("|"));
	
//	location.value = obj;
}

$(document).ready( function() {
	if($('#entry-stage').length) {
		var duration = 300;
		var active = false;
		
		$('#entry-thumbnails img, #entry-stage img').click(function() {
			var _this = $(this);
			var parent = _this.parent().parent();
			var child = parent.next().html();
			
			if(parent.parent().attr('id') != "entry-stage" && !active) {
				active = true;
				parent.fadeTo(duration, 0, function() {
					$('#entry-stage').append($(this));
					$('img', this).attr('width', 200).attr('height', 300);
					$(this).fadeTo(duration, 1.0, function() { active = false; });
				});
				$('#entry-stage div').fadeTo(duration, 0, function() {
					if(child == null) $('#entry-thumbnails').append($(this));
					else $('#entry-thumbnails').prepend($(this));
					$('img', this).attr('width', 150).attr('height', 225);
					$(this).fadeTo(duration, 1.0);
				});
			}
		});
	}
})
