    window.addEvent('domready', function(){
        new FormCheck('ProductRegistration');
		
// AUTO FORMAT LABID input	
$("LabID").addEvent('keyup', function (event) {
			var txtbox = event.target;
			if (event.key != 'delete' && event.key != 'backspace')
			{
				txtbox.value = txtbox.value.format_labid();
			}

		});	


		String.implement({
			format_labid: function() {
				var newlabid = this.replace(/[^\w]/g, "");
				var labidmatches = newlabid.match(/^(\w{0,1})(\w{0,4})(\w{0,3})(\w{0,6})/);
				if (labidmatches[1].length > 0)
				{
					newlabid = labidmatches[1];
				}
				if (labidmatches[1].length == 1)
				{
				  newlabid += "-" + labidmatches[2];
				  if (labidmatches[2].length == 4)
				  {
				    newlabid += "-" + labidmatches[3];
					
					  if (labidmatches[3].length == 3)
					  {
						newlabid += "-" + labidmatches[4];
						
					  }
					
				  }
				}
	  			return newlabid;
			}});
/////

// AUTO FORMAT SERIAL NUMBER input	
$("SerialNumber").addEvent('keyup', function (event) {
			var txtbox = event.target;
			if (event.key != 'delete' && event.key != 'backspace')
			{
				txtbox.value = txtbox.value.format_serialnumber();
			}

		});	


		String.implement({
			format_serialnumber: function() {
				var newserialnumber = this.replace(/[^\w]/g, "");
				var serialnumbermatches = newserialnumber.match(/^(\w{0,5})(\w{0,5})(\w{0,5})(\w{0,5})(\w{0,5})/);
				if (serialnumbermatches[1].length > 0)
				{
					newserialnumber = serialnumbermatches[1];
				}
				if (serialnumbermatches[1].length == 5)
				{
				  newserialnumber += "-" + serialnumbermatches[2];
				  if (serialnumbermatches[2].length == 5)
				  {
				    newserialnumber += "-" + serialnumbermatches[3];
					
					  if (serialnumbermatches[3].length == 5)
					  {
						newserialnumber += "-" + serialnumbermatches[4];
												
						  if (serialnumbermatches[4].length == 5)
						  {
							newserialnumber += "-" + serialnumbermatches[5];
							
						  }
					  						
					  }
					
				  }
				}
	  			return newserialnumber;
			}});
/////


// AUTO FORMAT DOB input	
$("Birthday").addEvent('keyup', function (event) {
			var txtbox = event.target;
			if (event.key != 'delete' && event.key != 'backspace')
			{
				txtbox.value = txtbox.value.format_birthday();
			}

		});	


		String.implement({
			format_birthday: function() {
				var newbirthday = this.replace(/[^\d]/g, "");
				var birthdaymatches = newbirthday.match(/^(\d{0,2})(\d{0,2})(\d{0,4})/);
				if (birthdaymatches[1].length > 0)
				{
					newbirthday = birthdaymatches[1];
				}
				if (birthdaymatches[1].length == 2)
				{
				  newbirthday += "/" + birthdaymatches[2];
				  if (birthdaymatches[2].length == 2)
				  {
				    newbirthday += "/" + birthdaymatches[3];
								  				
				  }
				}
	  			return newbirthday;
			}});
/////


    });
	
	function validateSerialId(el){
    if (!el.value.test(/^([A-Za-z0-9]{5}\-){4}[A-Za-z0-9]{5}/)) {
        el.errors.push("Serial Number must be in the format<br />xxxxx-xxxxx-xxxxx-xxxxx-xxxxx");
        return false;
    } else {
        return true;
    }
}

	function validateLabId(el){
    if (!el.value.test(/^[A-Za-z0-9]\-[A-Za-z0-9]{4}\-[A-Za-z0-9]{3}\-[A-Za-z0-9]{5}/)) {
        el.errors.push("Serial Number must be in the format<br />x-xxxx-xxx-xxxxx");
        return false;
    } else {
        return true;
    }
}

	function validateDob(el){
    if (!el.value.test(/^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d/)) {
        el.errors.push("DOB must be in the format MM/DD/YYYY<br /> and must be a valid date!");
        return false;
    } else {
        return true;
    }
}

