window.addEvent('domready', function() {
	var consultSlide = new Fx.Slide('signUp1');
	var consultBtn = new Fx.Slide('signUpArea');
	var calSlide = new Fx.Slide('appt_complete');
	
	consultSlide.hide();
	calSlide.hide();
	
	var prevdate = "";
	
	function setBlurFocus(object, string) {
		object.onfocus = function() {
			if(this.value == string) {
				this.value = "";
			}
		}
		
		object.onblur = function() {
			if(this.value == "") {
				this.value = string;
			}
		}
	}
	
	setBlurFocus($('dobmm'), "MM");
	setBlurFocus($('dobdd'), "DD");
	setBlurFocus($('dobyyyy'), "YYYY");
	
	$('dobmm').onkeypress = function() {
		/*
		if(this.value.length == 2) {
			if($('dobdd').value == "DD")
				$('dobdd').value = "";
			$('dobdd').focus();
		}
		*/
	}
	
	$('dobdd').onkeypress = function() {
		/*
		if(this.value.length == 2) {
			if($('dobyyyy').value == "YYYY")
				$('dobyyyy').value = "";
			$('dobyyyy').focus();
		}
		*/
	}

	$('dallas_lasik_consult_submit').onclick = function() {
		$('submit_loader').style.display = "inline";
		$('tyName').setHTML($('firstName').value);
		if(validateForm($("lasik_dallas_consultation_form"))) {
			$('lasik_dallas_consultation_form').send({onComplete: function() {
				$('submit_loader').style.display = "none";
				if(this.response.text.substr(0, 6) != "Error:") {
					consultSlide.slideOut();
					calSlide.slideIn();
				} else {
					var form = $('lasik_dallas_consultation_form');
					var fadeIn = new Fx.Style(form.getElement(".errorMessage"), 'opacity', {duration:500});
					form.getElement(".errorMessage").setHTML("Error message: "+this.response.text.substr(7));
					fadeIn.set(0);
					fadeIn.start(1);
				}
				//alert("your appt was made! woot!");
				
			}, onFailure: function() {
				var form = $('lasik_dallas_consultation_form');
				var fadeIn = new Fx.Style(form.getElement(".errorMessage"), 'opacity', {duration:500});
				form.getElement(".errorMessage").setHTML("Error message: "+"Trouble connecting to server. Please check your internet connection and try again.");
				fadeIn.set(0);
				fadeIn.start(1);
				$('submit_loader').style.display = "none";
			}});
		} else {
			$('submit_loader').style.display = "none";
		}
	}
	
	$('time').onchange = function() {
		$('calTime').setHTML(this.options[this.selectedIndex].text);
	}
	
	$('LasikConsultButton').onclick = function() {
		consultBtn.slideOut();
		consultSlide.slideIn();
		
		myCal = new Calendar({ Date: 'm/d/Y' }, { blocked: ['0 * * 0,5,6', '1 9 2008'], direction: 1, onShowStart: function() {
			//$('mainTable').style.width="400px";
		
		}, onHideStart: function() {
			if($('Date').value != prevdate) {
				prevdate = $('Date').value;
				
				$('time').options.length = 0;
				var elOptNew = document.createElement('option');
				elOptNew.text = "Loading Open Times...";
				elOptNew.value = -1;
				
				try {
					$('time').add(elOptNew, null);
				} catch (ex) {
					$('time').add(elOptNew);
				}
				
				$('calDayName').setHTML(getTheDay($('Date').value));
				$('calMonth').setHTML(getTheMonth($('Date').value));
				$('calDay').setHTML($('Date').value.split("/", 2)[1]);
				
				$('time_loader').style.display = "inline";
				
				var myXHR = new XHR({method: 'post', onSuccess: function() {
					var xmlDocument = this.response.xml;
					var times = xmlDocument.getElementsByTagName('slot');
					var elOptNew = document.createElement('option');
					elOptNew.text = "Please Choose a Time";
					elOptNew.value = -1;
					$('time').options.length = 0;
					try {
						$('time').add(elOptNew, null);
					} catch (ex) {
						$('time').add(elOptNew);
					}
					
					for(i=0; i < times.length; i++) {
						var op = times.item(i).firstChild.data;
						var opval = times.item(i).attributes[0].value;
						//alert(op);
						var elOptNew = document.createElement('option');
						elOptNew.text = op;
						elOptNew.value = opval;
						
						try {
							$('time').add(elOptNew, null);
						} catch (ex) {
							$('time').add(elOptNew);
						}
					}
					$('time_loader').style.display = "none";
				}}).send('ajaxphp/get_appt_times.php', 'date='+$('Date').value);
			}
		} });
		
	}
	
	
	
	
});

function checkAge(form) {
	var formComplete = true;
	form.getElements(".ageCheck").each(function(el) {
		var curdate = new Date()
		var curYear = curdate.getFullYear();
		
		if(curYear - el.value < 18) {
			el.addClass("emptyField");
			//alert("You must be at least 18 years old to have LASIK");
			formComplete = false;
		}
		
		
	});
	
	return formComplete;
}

function validateForm(form) {
	var formComplete = true;
	//check that no required fields are empty		
	
	form.getElements(".requiredField").each(function(el) {
		if(el.value == "" || el.value == "MM" || el.value == "DD" || el.value == "YYYY") {
			formComplete = false;
			el.addClass("emptyField");
		} else {
			el.removeClass("emptyField");
		}
	});
	
	form.getElements(".requiredSelect").each(function(el) {
		if(el.value == "-1") {
			formComplete = false;
			el.addClass("emptyField");
		} else {
			el.removeClass("emptyField");
		}
	});
	
	if(!checkAge(form)) {
		formComplete = false;
		alert("You must be at least 18 years old to have LASIK");
	}
	
	var fadeIn = new Fx.Style(form.getElement(".errorMessage"), 'opacity', {duration:500});
	if(!formComplete) {
		form.getElement(".errorMessage").setHTML("The fields marked with blue are required. Please enter data in the required fields");
		fadeIn.set(0);
		fadeIn.start(1); 
	} else {
		fadeIn.start(0);
	}
	
	return formComplete;
}

function getTheDay(dateString) {
	myDays= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
	myDate=new Date(eval('"'+dateString+'"'));
	return myDays[myDate.getDay()];
}

function getTheMonth(dateString) {
	myMonths= ["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];
	myDate=new Date(eval('"'+dateString+'"'));
	return myMonths[myDate.getMonth()];
}