if ($) {
	$(document).ready(
		function() {
			$('p.jqtest').addClass('tmpFrameworkLoaded');
			$('p.jqtest').text('JQuery successfully loaded and running!');
		}
	);
}

if ($) {
	$(document).ready(
		function() {
			$("[name$=money]").addClass('currency');
		}
	);
}

if ($) {
	$(document).ready(
		function() {
			var ReqSelector = "[name$=reqnumber], [name$=reqradio], [name$=reqname],[name$=reqselect],[name$=reqmoney],[name$=reqphone],[name$=reqdate],[name$=reqemail],[name$=requrl],[name$=reqzipcode],[name$=reqssn]";

			$(ReqSelector).addClass('required');
			$(ReqSelector).addClass('reqempty');
		}
	);
}

if ($) {
	$(document).ready(
		function() {
			$('input.required').blur(
				function($e) {
					var valtext = $(this).val();
					
					if (valtext.length != 0) {
						$(this).removeClass('reqempty');
						$(this).addClass('reqfilled');
					} else {
						$(this).removeClass('reqfilled');
						$(this).addClass('reqempty');
					}
				}
			);
			$('input.required').click(
				function($e) {
					if($(this).attr('name').match('reqradio') == 'reqradio') {
						$("[name$=reqradio]").removeClass('reqempty');
						$("[name$=reqradio]").addClass('reqfilled');
					}
				}
			);
		}
	);
}

if ($) {
	$(document).ready(
		function() {
			$('select.required').change(
				function($e) {
					var valselected = $(this).val();
					if (valselected != "PC") {
						$(this).removeClass('reqempty');
						$(this).addClass('reqfilled');
					} else {
						$(this).removeClass('reqfilled');
						$(this).addClass('reqempty');
					}
				}
			)
		}
	);
}

if ($) {
	$(document).ready(
		function() {
			$("[name$=phone], [name$=date], [name$=email], [name$=url], [name$=zipcode],[name$=ssn]").blur(							
				function($e) {		
					var ZipRegex = /^\d{5}(-\d{4})?$/;
					var PhoneRegex = /^\(?(\d{3})\)?[ -.](\d{3})[ -.](\d{4})$/;
					var EmailRegex = /^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$/;
					var DateRegex = /^([01]?\d)[/ .]([0123]?\d)[/ .](\d{4})$/;
					var URLRegex = /^((https?:\/\/)|(www\.))\S*$/;
					var SSNRegex = /^\d{3}-\d{2}-\d{4}$/;
					var MoneyRegex = /^\$?(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d{1,2}){0,1}$/;
					var MoneyRegexII = /^\$?[0-9]+(,[0-9]{3})*(\.[0-9]{2})?$/;
					var AttrNames = /(phone)|(date)|(email)|(url)|(zipcode)|(ssn)/;
					var SearchAttrRes = $(this).attr('name').match(AttrNames);
					 
				
					switch (SearchAttrRes[0])
					{
						case 'zipcode':
						{
							var stdRegex = ZipRegex;
  							break;
						}
						case 'ssn':
						{
							var stdRegex = SSNRegex;
  							break;
						}
						case 'phone':
						{
							var stdRegex = PhoneRegex;
  							break;
						}
						case 'email':
						{
							var stdRegex = EmailRegex;
							break;
						}
						case 'date':
						{
							var stdRegex = DateRegex;
							break;
						}
						case 'url':
						{
							var stdRegex = URLRegex;			
							break;
						}
						default:
						{
  							alert('That Regex Validation does not exist!');
						}
					}
					
					var valtext = $(this).val();
					var valresult = valtext.match(stdRegex);
					$e.preventDefault();
					
					$(this).removeClass('wrong');
					$(this).addClass('correct');
					if ((valtext.length != 0) && !valresult) {
						alert('This is not a valid format for this input');
						$(this).removeClass('correct');
						$(this).addClass('wrong');
					} else if ($(this).attr('name').match(/dobdate/) == 'dobdate') {
						var dob = $(this).val()
						var age = 18;
 						var mydate = new Date(dob);
						var currdate = new Date();
					
						currdate.setFullYear(currdate.getFullYear() - age);

						if ((currdate - mydate) < 0){
							alert("This person is a minor.  You need to enter an adult's date of birth.");
							$(this).removeClass('correct');
							$(this).addClass('wrong');
						}
					}
				}
			);
		}
	);
}

if ($) {
	$(document).ready(
		function() {
			$("[name=valsubmit]").click(				
				function($e) {	
					if($('input.wrong').length != 0) {
						$e.preventDefault();
						alert('You need to fix inputs in red!');
					} else if($('input.reqempty').length != 0) {
						$e.preventDefault();
						alert('You need to fill required fields!');
					} else if($('select.reqempty').length != 0) {
						$e.preventDefault();
						alert('You need to fill required fields!');
					} else {
						$('input.enterinfo').val('pressed');
					}

				}
			);
		}
	);
}
