$(document).ready(function() {
	$("#sb-qf input:text").each(function(i) {
		$(this).val($(this).attr("title"));
		
		$(this).bind("focus", function(e) {
			if($(this).val() == $(this).attr("title")) {
				$(this).val("");
			}});
		
		$(this).bind("blur", function(e) {
			if($(this).val() == "") {
				$(this).val($(this).attr("title"));
				clearEntry(this);
			}
			else {
				var field = "#"+$(this).attr("id");
				if ($(this).attr("name") == 'email') {
					$.get("http://www.mycashdirect.com/ajax/validate/email/", { item: $(this).val() },
					function(data) {
						switch(data.valid) {
						case 1:
							validEntry(field);
						break;
						case 0:
							invalidEntry(field);
							if (data.msg.length > 0) {
								alert(data.msg);
							}
						break;
						}
					}, "json");
				}
				else {
					$.get("http://www.mycashdirect.com/ajax/validate/text/", { item: $(this).val() },
					function(data) {
						switch(data.valid) {
						case 1:
							validEntry(field);
						break;
						case 0:
							invalidEntry(field);
						break;
						}
					}, "json");	
				}
			}
		});
	});
	
	$("#sb-qf-state").change(function() {
		($("#sb-qf-state").val() == '') ? invalidEntry("#sb-qf-state") : validEntry("#sb-qf-state");
	});
	
	$("#sb-qf-amount").change(function() {
		($("#sb-qf-amount").val() == '') ? invalidEntry("#sb-qf-amount") : validEntry("#sb-qf-amount");
	});
		
	
	$("#sb-submit-button").click(function() {
		$(this).focus();
		checkEntry();
		});
	
	function validEntry(target) {
		$(target).removeClass('sb-field-invalid');
	}
	
	function invalidEntry(target) {
		$(target).addClass('sb-field-invalid');
	}
	
	function clearEntry(target) {
		$(target).removeClass();
		$(target).addClass('sb-field hint');		
	}
	
	function isError(target) {
		return($(target).hasClass("sb-field-invalid").toString() == 'false') ? 0 : 1;
	}
	
	function isQualify(target) {
		return($(target).is(':checked').toString() == 'false') ? 1 : 0;
	}
	
	function checkEntry() {
		($("#sb-qf-state").val() == '') ? invalidEntry("#sb-qf-state") : validEntry("#sb-qf-state");
		($("#sb-qf-amount").val() == '') ? invalidEntry("#sb-qf-amount") : validEntry("#sb-qf-amount");
		($("#sb-qf-fname").val() == $("#sb-qf-fname").attr("title")) ? invalidEntry("#sb-qf-fname") : null;
		($("#sb-qf-lname").val() == $("#sb-qf-lname").attr("title")) ? invalidEntry("#sb-qf-lname") : null;
		($("#sb-qf-email").val() == $("#sb-qf-email").attr("title")) ? invalidEntry("#sb-qf-email") : null;
		
		var checks = ['#sb-qf-job','#sb-qf-income','#sb-qf-account'];
		var check_count = checks.length;
		var qualify_error = 0;
		var j=0;
		
		while (j<check_count) {
			qualify_error = isQualify(checks[j]);
			if (qualify_error === 1) { break; }
			j++;
		}
		
		var fields = ['#sb-qf-fname','#sb-qf-lname','#sb-qf-email','#sb-qf-state','#sb-qf-amount'];
		var field_count = fields.length;
		var error = 0;
		var i=0;
		
		while (i<=field_count) {
			error = isError(fields[i]);
			if (error === 1) { break; }
			
			error = ($(fields[i]).val() == $(fields[i]).attr('title')) ? 1 : 0;
			if (error === 1) {
				invalidEntry(fields[i]);
				break;	
			}
			i++;
		}
		
		if (error === 1) { alert('Please correct the above errors.'); }
		else if (qualify_error === 1) { alert('We are sorry, but you do not qualify for a loan.'); }
		else { $("#sb-qf").submit(); }
	}
});