$(document).ready(function() {
  // initialization code goes here

	  $('input[type=password]').focus(function() {
		  $(this).removeClass("idleField").addClass("focusField");
	  });
		$('input[type="text"]').addClass("idleField");
   		$('input[type="text"]').focus(function() {
   			$(this).removeClass("idleField").addClass("focusField");
		    if (this.value == this.defaultValue){ 
		    	this.value = '';
			}
			if(this.value != this.defaultValue){
    			this.select();
    		}
			var theClassName = this.className;
			//if focus is on the first password then hide the password text field, 
			//show the password password field, and put focus on it
			if( theClassName.indexOf('mainPagePassword1')!=-1) {
				$(this).hide();
				$("#password-password").show();
				$("#password-password").addClass("focusField");
				$("#password-password").focus();
			}
			if( theClassName.indexOf('mainPagePassword2')!=-1) {
				$(this).hide();
				$("#password-password1").show();
				$("#password-password1").addClass("focusField");
				$("#password-password1").focus();
			}
			
		});
   		$('input[type="password"]').blur(function() {
   			if(this.id=='password-password') {
   	   			$("#mainPagePassword1").removeClass("focusField").addClass("idleField");
   	   			$("#password-password").removeClass("focusField").addClass("idleField");
   				if($.trim(this.value)==''){
	   	   			$(this).hide();
	   	   			$('#mainPagePassword1').val('Password');
	   				$("#mainPagePassword1").show();
   				}
   			}
   			if(this.id=='password-password1') {
   	   			$("#mainPagePassword2").removeClass("focusField").addClass("idleField");
   	   			$("#password-password1").removeClass("focusField").addClass("idleField");
   				if($.trim(this.value)==''){
	   	   			$(this).hide();
	   	   			$('#mainPagePassword2').val('Confirm Password');
	   	   			$("#mainPagePassword2").show();
   				}
   			}
   			
   		});
   		
		$('input[type="text"]').blur(function() {
			$(this).removeClass("focusField").addClass("idleField");
		    if ($.trim(this.value) == ''){
		    	this.value = (this.defaultValue ? this.defaultValue : '');
			}
		});
	
		//validate username
		$("#mainPageUsername").keyup(function(){
			checkMainPageUsername();
		});
		$("#mainPageUsername").blur(function(){
			checkMainPageUsername();
		});
		$("#mainPageUsername").click(function(){
			checkMainPageUsername();
		});
		
		//email validation
		$("#mainPageEmailAddress").keyup(function(){
			checkMainPageEmail();
		});
		$("#mainPageEmailAddress").blur(function(){
			checkMainPageEmail();
		});
		$("#mainPageEmailAddress").click(function(){
			checkMainPageEmail();
		});
		
		$("#mainPageEmailAddressValidate").keyup(function(){
			checkMainPageEmailValidate();
		});
		$("#mainPageEmailAddressValidate").blur(function(){
			checkMainPageEmailValidate();
		});
		$("#mainPageEmailAddressValidate").click(function(){
			checkMainPageEmailValidate();
		});
		
		$("#password-password").keyup(function(){
			checkMainPagePassword();
		});
		$("#password-password").blur(function(){
			checkMainPagePassword();
		});
		$("#password-password").click(function(){
			checkMainPagePassword();
		});
		
		$("#password-password1").keyup(function(){
			checkMainPagePasswordValidate();
		});
		$("#password-password1").blur(function(){
			checkMainPagePasswordValidate();
		});
		$("#password-password1").click(function(){
			checkMainPagePasswordValidate();
		});
		
	    $("#main-page-signup-form").submit(function() {
	    	if (checkMainPageEmail()*checkMainPageEmailValidate()*checkMainPagePassword()*checkMainPagePasswordValidate() == 1) {
	          return true;
	        } else {
		        $("#submit-errors").text("Please correct form errors and submit again. (If you are still having issues, please email webmaster@mychances.net.").show();
		        return false;
	        }
	      });

});

function checkMainPageUsername(){
	var username = $("#mainPageUsername").val();
	if(username != 0)
	{
		if(isValidUsername(username))
		{
			return isDuplicate(username);
		} else {
		$("#validUsername").css({ "background-image": "url('images/icons/invalid.png')" });
		$("#validUsername").html("Usernames must be 3+ characters long and alphanumeric (dashes and underscores ok).");
		return 0;
		}
	} else {
	 
	$("#validUsername").css({ "background-image": "none" });
	 
	}

}

function checkMainPageEmail(){
	var email = $("#mainPageEmailAddress").val();
	if(email != 0)
	{
		if(isValidEmailAddress(email)){
			$("#validEmail").css({ "background-image": "url('images/icons/valid.png')" });
			$("#validEmail").html("");
			return 1;
		} else {
			$("#validEmail").css({ "background-image": "url('images/icons/invalid.png')" });
			$("#validEmail").html("Please enter a valid email address.");
			return 0;
		}
	} else { 
		$("#validEmail").css({ "background-image": "none" });
	
	}

}

function checkMainPageEmailValidate(){
	var mainEmail = $("#mainPageEmailAddress").val();
	var emailValidate = $("#mainPageEmailAddressValidate").val();
	if(emailValidate==mainEmail){
		$("#validEmailValidator").css({ "background-image": "url('images/icons/valid.png')" });
		$("#validEmailValidator").html("");
		return 1;
	}
	else {
		$("#validEmailValidator").css({ "background-image": "url('images/icons/invalid.png')" });
		$("#validEmailValidator").html("The emails do not match.");
		return 0;
	}	
}

function checkMainPagePassword(){
	var mainPassword = $("#password-password").val();
	if(mainPassword.length>=4){
		$("#validPassword").css({ "background-image": "url('images/icons/valid.png')" });
		$("#validPassword").html("");
		return 1;
	}
	else {
		$("#validPassword").css({ "background-image": "url('images/icons/invalid.png')" });
		$("#validPassword").html("Passwords must be at least 4 characters long");
		return 0;
	}	
}

function checkMainPagePasswordValidate(){
	var mainPassword = $("#password-password").val();
	var passwordValidate = $("#password-password1").val();
	if(mainPassword==passwordValidate){
		$("#validPasswordValidator").css({ "background-image": "url('images/icons/valid.png')" });
		$("#validPasswordValidator").html("");
		return 1;
	}
	else {
		$("#validPasswordValidator").css({ "background-image": "url('images/icons/invalid.png')" });
		$("#validPasswordValidator").html("The passwords do not match.");
		return 0;
	}	
}


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);
}



function isValidUsername(username) {
	var pattern = new RegExp(/^([A-Za-z0-9_-]{3,20}$)/i);
	return pattern.test(username);
}

function isDuplicate(username) {
	$.get("membership/is-duplicate-membername.php?username="+username, function(data){
			
		if(data!=1){
			$("#validUsername").css({ "background-image": "url('images/icons/valid.png')" });
			$("#validUsername").html("");
			return 1;
		} else {
			$("#validUsername").css({ "background-image": "url('images/icons/invalid.png')" });
			$("#validUsername").html("Sorry, that username is already in use.");
			return 0;
		}
		});
}

function getAnchorName(position, type) {
	var AnchorName = '';
	var className = '';
switch(position) {
	case 1:
		AnchorName	= 'PREDICTIONS';
		className = 'predictions';
		break;
	case 2:
		AnchorName = 'COLLEGE RANKINGS';
		className = 'college-rankings';
		break;
	case 3:
		AnchorName = 'STUDENT BLOGS';
		className = 'student-blogs';
		break;
	case 4:
		AnchorName = 'CUSTOM ANALYSIS';
		className = 'custom-analysis';
		break;
	case 5:
		AnchorName = 'ACTIVE FORUMS';
		className = 'active-forums';  
		break;
	case 6:
		AnchorName = 'ESSAY HELP';
		className = 'essay-help';
		break;
	case 7:
		AnchorName = 'SIGN UP, FREE';
		className = 'sign-up';
		break;
	default:
		AnchorName = 'Add additional AnchorNames to get AnchorName';
		break;
}
if(type=='anchor'){
return AnchorName;
} else if(type='class') {
return className;
}
}