var focusSet = false
var formGood = true;
//var user = new Object;
var checkEmailInstructions = 
						"Check your email inbox for a message from \"email@MyStudioSessions.com\".<br />"+
						"If you don't see it, the message may have traveled into your spam filter.<br /><b>Check your spam folder</b>, if you see the registration message there, be sure to update your email settings so you will receive future updates.<br/>"+
						"Click on the link inside the email to activate your account."

function checkRegistrationEmailAddress(e){
	var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
	var returnval=emailfilter.test(e.value)
	if (returnval==false){
		//alert("Please enter a valid email address.")
		emailAddressEntered = false;
		document.getElementById('registrationMessage').style.color = "#FF0000"
		document.getElementById('email_address_label').style.color = "#FF0000"
		document.getElementById('registrationMessage').innerHTML += "Please enter a valid email address.<br />"
			if(!focusSet) {
				e.select()
				focusSet = true;
				formGood = false;
				//field.focus()
			}
	} else {
		emailAddressEntered = true;
		//document.getElementById('loginMessage').style.color = "#00FF00"
		//document.getElementById('loginMessage').innerHTML = "Email Ok."
	}
	return returnval
}

function checkRegistrationForm() {
	document.getElementById('registrationMessage').innerHTML = ""
	focusSet = false
	document.getElementById('email_address_label').style.color = "black"
	function fieldCheck(field, label) {
		if(field.value.length == 0) {
			label.style.color = "red"
			if(!focusSet) {
				field.focus()
				focusSet = true;
			}
		}
	}
	fieldCheck(document.getElementById('email'),document.getElementById('email_address_label'))
	
	if(checkRegistrationEmailAddress(document.getElementById('email'))) {
		return true;
	} else {
		//alert('form failed')
		return false;
	}
}

function checkRegistrationFormFull() {
	//popUp('duude');
	document.getElementById('registrationMessage').innerHTML = ""
	focusSet = false
	formGood = true;
	document.getElementById('email_address_label').style.color = "black"
	document.getElementById('password_label').style.color = "black"
	document.getElementById('confirm_password_label').style.color = "black"
	//if(user.userID == 0) {
	function fieldCheck(field, label) {
		if(field.value.length == 0) {
			label.style.color = "red"
			if(!focusSet) {
				field.focus()
				focusSet = true;
				formGood = false;
			}
		}
	}
	//alert(document.new_registration.gender.length)
	
	//Check Gender
	//if(!document.new_registration.gender[0].checked && !document.new_registration.gender[1].checked) {
	//	formGood = false;
	//	document.getElementById('gender_label').style.color = "red"
	//}
		
	//fieldCheck(document.getElementById('first_name'),document.getElementById('first_name_label'))
	//fieldCheck(document.getElementById('gender'),document.getElementById('gender_label'))
	fieldCheck(document.getElementById('email'),document.getElementById('email_address_label'))
	//fieldCheck(document.getElementById('confirm_email'),document.getElementById('confirm_email_address_label'))
	
	// Email and Confrim Match
	/*
	if(document.getElementById('email').value != document.getElementById('confirm_email').value) {
		formGood = false;
		document.getElementById('email_address_label').style.color = "red"
		document.getElementById('confirm_email_address_label').style.color = "red"
		document.getElementById('registrationMessage').style.color = "#FF0000"
		document.getElementById('registrationMessage').innerHTML += "Email Address and Confirm Email Address do not match.<br />"
	}
	*/
	
	fieldCheck(document.getElementById('new_password'),document.getElementById('password_label'))
	fieldCheck(document.getElementById('confirm_password'),document.getElementById('confirm_password_label'))
	
	// Password Length
	if(document.getElementById('new_password').value.length < 6) {
		formGood = false;
		document.getElementById('password_label').style.color = "red"
		document.getElementById('registrationMessage').style.color = "#FF0000"
		document.getElementById('registrationMessage').innerHTML += "Password must be atleast 6 characters long.<br />"
	}
	
	// Password and Confrim Match
	if(document.getElementById('new_password').value != document.getElementById('confirm_password').value) {
		//alert(document.getElementById('password').value+" "+document.getElementById('confirm_password').value)
		formGood = false;
		document.getElementById('password_label').style.color = "red"
		document.getElementById('confirm_password_label').style.color = "red"
		document.getElementById('registrationMessage').style.color = "#FF0000"
		document.getElementById('registrationMessage').innerHTML += "Password and Confirm Password do not match.<br />"
	}
	
	//fieldCheck(document.getElementById('secret_question'),document.getElementById('secret_question_label'))
	//fieldCheck(document.getElementById('secret_answer'),document.getElementById('secret_answer_label'))
	
	
	if(checkRegistrationEmailAddress(document.getElementById('email')) && formGood) {
		return true;
		//submitRegistration()
		//alert('form passed')			
		//return false;
	} else {
		//alert('form failed')
		return false;
	}
	 //alert(document.getElementById('message').value.length)
	
}
function checkRegistrationFormOLD() {
	document.getElementById('registrationMessage').innerHTML = ""
	focusSet = false
	formGood = true;
	document.getElementById('first_name_label').style.color = "black"
	document.getElementById('gender_label').style.color = "black"
	document.getElementById('email_address_label').style.color = "black"
	document.getElementById('confirm_email_address_label').style.color = "black"
	document.getElementById('password_label').style.color = "black"
	document.getElementById('confirm_password_label').style.color = "black"
	document.getElementById('secret_question_label').style.color = "black"
	document.getElementById('secret_answer_label').style.color = "black"
	//if(user.userID == 0) {
	function fieldCheck(field, label) {
		if(field.value.length == 0) {
			label.style.color = "red"
			if(!focusSet) {
				field.focus()
				focusSet = true;
				formGood = false;
			}
		}
	}
	//alert(document.new_registration.gender.length)
	
	//Check Gender
	if(!document.new_registration.gender[0].checked && !document.new_registration.gender[1].checked) {
		formGood = false;
		document.getElementById('gender_label').style.color = "red"
	}
		
	fieldCheck(document.getElementById('first_name'),document.getElementById('first_name_label'))
	//fieldCheck(document.getElementById('gender'),document.getElementById('gender_label'))
	fieldCheck(document.getElementById('email'),document.getElementById('email_address_label'))
	fieldCheck(document.getElementById('confirm_email'),document.getElementById('confirm_email_address_label'))
	
	// Email and Confrim Match
	if(document.getElementById('email').value != document.getElementById('confirm_email').value) {
		formGood = false;
		document.getElementById('email_address_label').style.color = "red"
		document.getElementById('confirm_email_address_label').style.color = "red"
		document.getElementById('registrationMessage').style.color = "#FF0000"
		document.getElementById('registrationMessage').innerHTML += "Email Address and Confirm Email Address do not match.<br />"
	}
	
	fieldCheck(document.getElementById('new_password'),document.getElementById('password_label'))
	fieldCheck(document.getElementById('confirm_password'),document.getElementById('confirm_password_label'))
	
	// Password Length
	if(document.getElementById('new_password').value.length < 6) {
		formGood = false;
		document.getElementById('password_label').style.color = "red"
		document.getElementById('registrationMessage').style.color = "#FF0000"
		document.getElementById('registrationMessage').innerHTML += "Password must be atleast 6 characters long.<br />"
	}
	
	// Password and Confrim Match
	if(document.getElementById('new_password').value != document.getElementById('confirm_password').value) {
		//alert(document.getElementById('password').value+" "+document.getElementById('confirm_password').value)
		formGood = false;
		document.getElementById('password_label').style.color = "red"
		document.getElementById('confirm_password_label').style.color = "red"
		document.getElementById('registrationMessage').style.color = "#FF0000"
		document.getElementById('registrationMessage').innerHTML += "Password and Confirm Password do not match.<br />"
	}
	
	//fieldCheck(document.getElementById('secret_question'),document.getElementById('secret_question_label'))
	fieldCheck(document.getElementById('secret_answer'),document.getElementById('secret_answer_label'))
	
	
	if(checkRegistrationEmailAddress(document.getElementById('email')) && formGood) {
		submitRegistration()
		//alert('form passed')			
		return false;
	} else {
		//alert('form failed')
		return false;
	}
	 //alert(document.getElementById('message').value.length)
}

var checkobj

//var regAgreeMes = "";
//regAgreeMes = document.getElementById('registerButtonInstructions').innerHTML;
function agreesubmit(el){

	//alert('here')
	checkobj=el
	//document.getElementById('registerButtonInstructions').innerHTML = "else"
	if (document.all||document.getElementById){
		//alert(checkobj.form.length)
		for (i=0;i<checkobj.form.length;i++){  //hunt down submit button
			var tempobj=checkobj.form.elements[i]
			if(tempobj.type && tempobj.type.toLowerCase()=="submit") {
				tempobj.disabled=!checkobj.checked
				//document.getElementById('registerButtonInstructions').innerHTML = ""
			}
		}
	}
}

function defaultagree(el){
	if (!document.all&&!document.getElementById){
		if (window.checkobj&&checkobj.checked)
			return true
		else{
			alert("Please read/accept terms to submit form")
			return false
		}
	}
}

function sendActivationEmail(email){
	//document.getElementById('sendButton').disabled = 'disabled'
	var postData = 
	"&java=1"+
	"&send_user_activation_email="+email
	//alert(user.userID);
	
	var div = document.getElementById('main_content');
	var handleSuccess = function(o){
	
		if(o.responseText !== undefined){
			response = o.responseText
			String.prototype.trim = function() {
				return this.replace(/^\s+|\s+$/g,"");
			}
			String.prototype.ltrim = function() {
				return this.replace(/^\s+/,"");
			}
			String.prototype.rtrim = function() {
				return this.replace(/\s+$/,"");
			}
			response = response.trim()
		
			if(response == "Message sent.") {
				document.getElementById('registrationForm').innerHTML = 
					"<div>"+
						"<div align='center' style='font-weight:bold; font-size:20px;'>Your activation email has been sent!</div><br /><br />"+
						checkEmailInstructions+
					"</div>"
				//alert(o.responseText)
			}
		}
	}
	var handleFailure = function(o){
		div.innerHTML = "Something is wrong";
	}

	var callback =
	{
	  success: handleSuccess,
	  failure: handleFailure,
	  argument: ['foo','bar']
	};
	var sUrl = "/register.php"
	var message = "Settings:\n"
	//alert(postData);
	//alert("Setting Reminder\n"+message+"\n\n"+postData)
	var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
}

function sendForgotPaswordEmail(email){
	//document.getElementById('sendButton').disabled = 'disabled'
	var postData = 
	"&java=1"+
	"&email="+email
	//alert(user.userID);
	
	var div = document.getElementById('main_content');
	var handleSuccess = function(o){
	
		if(o.responseText !== undefined){
			response = o.responseText
			String.prototype.trim = function() {
				return this.replace(/^\s+|\s+$/g,"");
			}
			String.prototype.ltrim = function() {
				return this.replace(/^\s+/,"");
			}
			String.prototype.rtrim = function() {
				return this.replace(/\s+$/,"");
			}
			response = response.trim()
		
			if(response == "Message sent.") {
				document.getElementById('registrationForm').innerHTML = 
					"<div>"+
						"<div align='center' style='font-weight:bold; font-size:20px;'>Your password reset email has been sent!</div><br /><br />"+
						"<div align='center'>Check your email account for a message with further instructions.</div>"+
					"</div>"
				//alert(o.responseText)
			} else {
				var responseArray = response.split('<--js-->');
				document.getElementById('registrationForm').innerHTML = responseArray[1];
				//alert(o.responseText)
			}
		}
	}
	var handleFailure = function(o){
		div.innerHTML = "Something is wrong";
	}

	var callback =
	{
	  success: handleSuccess,
	  failure: handleFailure,
	  argument: ['foo','bar']
	};
	var sUrl = "/forgot_password.php"
	var message = "Settings:\n"
	//alert(postData);
	//alert("Setting Reminder\n"+message+"\n\n"+postData)
	var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
}

function submitRegistration() {
	return true;
	//document.getElementById('agreecheck').disabled = 'disabled'
	document.getElementById('submit').disabled = 'disabled'
	document.getElementById('submit').value = 'Registering...'
	function get_radio_value() {
		for (var i=0; i < document.new_registration.gender.length; i++) {
		   if (document.new_registration.gender[i].checked) {
			  return document.new_registration.gender[i].value;
		  }
	   }
	}

	
	var postData = 
	"&java=1"+
	"&register=1"+
//	"&first_name="+document.new_registration.first_name.value+
//	"&last_name="+document.new_registration.last_name.value+
//	"&stage_name="+document.new_registration.stage_name.value+
//	"&gender="+get_radio_value()+
	"&email="+document.new_registration.email.value+
//	"&confirm_email="+document.new_registration.confirm_email.value+
	"&password="+document.new_registration.new_password.value+
	"&confirm_password="+document.new_registration.confirm_password.value
//	"&secret_question="+document.new_registration.secret_question.value+
//	"&secret_answer="+document.new_registration.secret_answer.value
	//alert('hi');
	
	//alert('hi')
	var div = document.getElementById('main_content');
	var handleSuccess = function(o){
	
		if(o.responseText !== undefined){
			
			response = o.responseText
			String.prototype.trim = function() {
				return this.replace(/^\s+|\s+$/g,"");
			}
			String.prototype.ltrim = function() {
				return this.replace(/^\s+/,"");
			}
			String.prototype.rtrim = function() {
				return this.replace(/\s+$/,"");
			}
			response = response.trim()
			
			//alert("response="+response)
			var responseArray = response.split('<--js-->');
			
			if(responseArray[0] == "Registered.") {
				if(newMemberBook) {
					document.getElementById('newMemberBookingHeader').innerHTML = "";
					newMemberBook = false;
					newMemberBookedWaitingForActivation = true;
					newSessionObject.user_id = responseArray[1];
					//alert(newSessionObject.user_id)
					bookSession()
				}
			}
			document.getElementById('registrationForm').innerHTML = responseArray[2];
		}
	}
				//alert(o.responseText)
	var handleFailure = function(o){
		alert("Something is wrong");
	}

	var callback =
	{
	  success: handleSuccess,
	  failure: handleFailure,
	  argument: ['foo','bar']
	};
	var sUrl = "/register.php"
	var message = "Settings:\n"
	//alert(postData);
	//alert("Setting Reminder\n"+message+"\n\n"+postData)
	var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
}
function preFillForm() {
	var form = document.new_registration
	form.first_name.value = "Nat"
	form.last_name.value = "Foreman"
	form.stage_name.value = "NatMan"
	form.gender[0].checked = true
	form.email.value = "nat@thenatcave.com"
	form.confirm_email.value = "nat@thenatcave.com"
	form.new_password.value = "password"
	form.confirm_password.value = "password"
	form.secret_answer.value = "Me"
	form.agreecheck.checked = true
	form.register.disabled = false
}
//alert('aa')

