function newCaptchaImage() {
	$.ajax({
		type: 'GET',
		url: base_url + 'captcha/index/?' + Math.random(),
		data: '',
		success: function(responseText) {
			$('#captcha_response').val('');
			var imgArray	= responseText.split('|');
			
			$('#randWord').val(parseInt(imgArray[0]));
			$('#time').val(imgArray[1]);
			$('#captch_image').html('<img src="' + app_url + 'images/captcha/' + imgArray[1] + '.jpg?' + Math.random() + '">');
			$('#randKey').val(imgArray[2]);
		}
	});
	//validateForm();
}

$(document).ready(function() {
	//$('#carrier_id').sSelect();
	
	$("#mobile").mask("(999) 999-9999");
	
	jQuery.validator.addMethod("captchaTo", function(value, element) {
		return this.optional(element) || value == $('#randWord').val();
	}, "Enter the same verify text above");     

	validateForm();
});

function validateForm() {
	// validate signup form on keyup and submit
	var validator = $("#register_form").validate({
		rules: {
			first_name: {required:true,minlength:1},
			last_name: {required:true,minlength:1},
			username: {
				required: true,
				minlength: 2,
				remote: {
	        url: base_url + 'validate/username/',
	        type: "post",
	        data: {
	          username: function() {
	            return $('#username').val();
	          }
	        }
	      }
			},
			password: {
				required: true,
				minlength: 6
			},
			password_confirm: {
				required: true,
				minlength: 6,
				equalTo: "#password"
			},
			email: {
				required: true,
				email: true,
				remote: {
	        url: base_url + 'validate/email/',
	        type: "post",
	        data: {
	          email: function() {
	            return $('#email').val();
	          }
	        }
	      }
			},
			email_confirm: {
				required: true,
				email: true,
				equalTo: "#email"
			},
			//mobile: {required:true,minlength:1},
			//carrier_id: {required:true,minlength:1},
			captcha_response: {
				required: true,
				//equalTo: "#randWord"
				captchaTo: true
			},
			terms: {required:true,minlength:1}
		},
		messages: {
			first_name: "Enter your firstname",
			last_name: "Enter your lastname",
			username: {
				required: "Enter a username",
				minlength: jQuery.format("Enter at least {0} characters"),
				remote: jQuery.format("{0} is already in use")
			},
			password: {
				required: "Provide a password",
				rangelength: jQuery.format("Enter at least {0} characters")
			},
			password_confirm: {
				required: "Repeat your password",
				minlength: jQuery.format("Enter at least {0} characters"),
				equalTo: "Enter the same password as above"
			},
			email: {
				required: "Please enter a valid email address",
				remote: jQuery.format("{0} is already in use")
			},
			email_confirm: {
				required: "Repeat your email address",
				equalTo: "Enter the same email address as above"
			},
			//mobile: "Enter your mobile number",
			//carrier_id: "Please select your carrier",
			captcha_response: {
				required: "Enter the verify text in the image",
				//equalTo: "Enter the same verify text above"
			},
			terms: "Please read and agree to the user agreement and privacy policy."
		},
		// the errorPlacement has to take the table layout into account
		errorPlacement: function(error, element) {
			var attr = element.attr('name');
			if (attr == 'terms') {
		  	error.appendTo('#terms_status');
		  }
			else if (attr == 'mobile') {
		  	
		  }
			else if (attr == 'carrier_id') {
		  	error.appendTo('#carrier_id_status');
		  }
			else error.appendTo(element.parent().next());
		},
		/*
		// specifying a submitHandler prevents the default submit, good for the demo
		submitHandler: function() {
			//document.getElementById('register_form').submit();
			$('#register_form').submit();
		},
		*/
		// set this class to error-labels to indicate valid fields
		success: function(label) {
			// set &nbsp; as text for IE
			label.html("&nbsp;").addClass("checked");
		},
		focusInvalid: false, 
		onkeyup: false 
	});   
}

function resend(username) {
	$.ajax({
		type: 'POST',
		url: base_url + 'register/resend/',
		data: '&username=' + username,
		dataType: "json",
		success: function(data){
			//alert(data.message);
			showMessage(data.message);
			/*
			if (data.status == 'success') {
				new Boxy('<div id="popupBox">' + data.message + '</div>', {modal: true, title:'Message'});
			}
			*/
		}
	});
}
