//General Variable Declarations
lasterror = "";

$j(document).ready(function() {
		
	emptyerror = "Please fill out this field.";
	emailerror = "Please enter a valid e-mail.";
	//This is for the Login Function	
	$j("#login_form").submit(function(){
			
		required = ["username", "password"];
		errornotice = $j("#error_login");
		//Validate required fields
		for (i=0;i<required.length;i++) {
			var input = $j('#'+required[i]);
			if ((input.val() == "") || (input.val() == emptyerror)) {
				input.addClass("needsfilled");
				input.val(emptyerror);
				errornotice.fadeIn(750);
				lasterror = errornotice; 
			} else {
				input.removeClass("needsfilled");
			}
		}
		
		//if any inputs on the page have the class 'needsfilled' the form will not submit
		if ($j("#username").hasClass("needsfilled") || $j("#password").hasClass("needsfilled")) {
			return false;
		} else {
			authenticate_login($('username').value,$('password').value);
			return false;
		}

	});
	
	$j('#username').keypress(function(el){
		if(el.which == 13) {
				
		required = ["username", "password"];
		errornotice = $j("#error_login");
		//Validate required fields
		for (i=0;i<required.length;i++) {
			var input = $j('#'+required[i]);
			if ((input.val() == "") || (input.val() == emptyerror)) {
				input.addClass("needsfilled");
				input.val(emptyerror);
				errornotice.fadeIn(750);
				lasterror = errornotice; 
			} else {
				input.removeClass("needsfilled");
			}
		}
		
		//if any inputs on the page have the class 'needsfilled' the form will not submit
		if ($j("#username").hasClass("needsfilled") || $j("#password").hasClass("needsfilled")) {
			return false;
		} else {
			authenticate_login($('username').value,$('password').value);
		}
		}
		
	});
	
	$j('#password').keypress(function(el){
		if(el.which == 13) {
				
		required = ["username", "password"];
		errornotice = $j("#error_login");
		//Validate required fields
		for (i=0;i<required.length;i++) {
			var input = $j('#'+required[i]);
			if ((input.val() == "") || (input.val() == emptyerror)) {
				input.addClass("needsfilled");
				input.val(emptyerror);
				errornotice.fadeIn(750);
				lasterror = errornotice; 
			} else {
				input.removeClass("needsfilled");
			}
		}
		
		//if any inputs on the page have the class 'needsfilled' the form will not submit
		if ($j("#username").hasClass("needsfilled") || $j("#password").hasClass("needsfilled")) {
			return false;
		} else {
			authenticate_login($('username').value,$('password').value);
		}
		}
		
	});
	
	
	//Function for Forgot Password
	$j('#btn_send_forgot').click(function(){
										  
		required = ["forgot_username", "forgot_email"];
		email = $j("#forgot_email");
		errornotice = $j("#error");
		//Validate required fields
		for (i=0;i<required.length;i++) {
			var input = $j('#'+required[i]);
			if ((input.val() == "") || (input.val() == emptyerror)) {
				input.addClass("needsfilled");
				input.val(emptyerror);
				errornotice.fadeIn(750);
				lasterror = errornotice; 
			} else {
				input.removeClass("needsfilled");
			}
		}
		
		// Validate the e-mail.
		if (!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email.val())) {
			email.addClass("needsfilled");
			email.val(emailerror);
		}

		//if any inputs on the page have the class 'needsfilled' the form will not submit
		if ($j("#forgot_username").hasClass("needsfilled") || $j("#forgot_email").hasClass("needsfilled")) {
			return false;
		} else {
			//errornotice.hide();
			authenticate_forgot_password($('forgot_username').value,$('forgot_email').value);
		}
	});
	
	//Code for Sign-up
	$j('#btn_signup').click(function(){
			required = ["fname", "lname", "email_signup", "mobile_signup", "username_signup", "password_signup", "re_password_signup"];					
			email = $j("#email_signup");	
			errornotice = $j("#error_signup");
			errorpass = $j("#error_pass");
			//Validate required fields
		for (i=0;i<required.length;i++) {
			var input = $j('#'+required[i]);
			if ((input.val() == "") || (input.val() == emptyerror)) {
				input.addClass("needsfilled");
				input.val(emptyerror);
				errornotice.fadeIn(750);
				lasterror = errornotice; 
			} else {
				input.removeClass("needsfilled");
			}
		}
		
		// Validate the e-mail.
		if (!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email.val())) {
			email.addClass("needsfilled");
			email.val(emailerror);
		}
		
		if($j('#password_signup').val() != $j('#re_password_signup').val())
		{
			$j('#password_signup').addClass('needsfilled');
			$j('#re_password_signup').addClass('needsfilled');
			errorpass.fadeIn(750);
		}
		
		var k =0;
		for (i=0;i<required.length;i++) {
			var input = $j('#'+required[i]);
			if (input.hasClass("needsfilled") || input.val() == emptyerror) {
				 k++;
			} 
		}
		
		if(k==0)
		{
				sign_up_account();
		}else{
				return false;
		}
			
	});
	
	
	$j('#email_signup').blur(function(){
		email = $j("#email_signup");
		errornotice = $j("#error_signup");
		// Validate the e-mail.
		if (!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email.val())) {
			email.addClass("needsfilled");
			email.val(emailerror);
			lasterror = errornotice; 
		}else{
			check_email_existed($('email_signup').value);
		}
	});
	
	$j('#mobile_signup').blur(function(){
			
			
			if(($j('#mobile_signup').val().length < 10) || ($j('#mobile_signup').val().length > 10))
			{
				$j('#mobile_signup').addClass("needsfilled");
				$j('#error_signup').html("Mobile Number must be 10 digits.");	
				$j('#error_signup').fadeIn(750);
				lasterror = $j('#error_signup'); 
			}else{
				check_mobile_existed($j('#mobile_signup').val());
			}
		
	});
	
	
	$j('#username_signup').blur(function(){
			
			
			if($j('#username_signup').val().length <= 0)
			{
				$j('#username_signup').addClass("needsfilled");
				$j('#username_signup').val(emptyerror);
				lasterror = $j('#error_signup'); 
			}else{
				check_username_existed($j('#username_signup').val());
			}
		
	});
	
	// Clears any fields in the form when the user clicks on them
	$j(":input").focus(function(){		
	   if ($j(this).hasClass("needsfilled") ) {
			$j(this).val("");
			$j(this).removeClass("needsfilled");
			lasterror.fadeOut(750); 
	   }
	   	});
	
	
	//Allows only Numbers
	$j("#mobile_signup").keydown(function (event) {
		if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105)) // 0-9 or numpad 0-9
		{
			//alert($j('#mobile_signup').val().length);
			if($j('#mobile_signup').val().length > 10)
			{
				$j('#mobile_signup').addClass("needsfilled");
				$j('#error_signup').html("Mobile Number must be 10 digits.");	
				$j('#error_signup').fadeIn(750);
				lasterror = $j('#error_signup'); 
			}
		}
		else if (event.keyCode != 8 && event.keyCode != 46 && event.keyCode != 37 && event.keyCode != 39 && event.keyCode != 9) 
		{
			event.preventDefault();
		}else if(event.keyCode == 8)
		{
				$j('#mobile_signup').removeClass("needsfilled");
				$j('#error_signup').fadeOut(750);
		}
	}); 

	//$j("#mobile_signup").mask("9999999999",{placeholder:" "});
	
	
	$j('#btn_activate').click(function(){
									  
		required = ["act_code"];
		errornotice = $j("#error");
		//Validate required fields
		for (i=0;i<required.length;i++) {
			var input = $j('#'+required[i]);
			if ((input.val() == "") || (input.val() == emptyerror)) {
				input.addClass("needsfilled");
				input.val(emptyerror);
				errornotice.fadeIn(750);
				lasterror = errornotice; 
			} else {
				input.removeClass("needsfilled");
			}
		}
		
		if ($j("#act_code").hasClass("needsfilled")) {
			return false;
		} else {
			//errornotice.hide();
			activate_new_account();
		}
		
	});
});	


