sheepHerdNumber
by alanbeech
HTML
<input data-type="PigHerdNumber">
JavaScript
var sheepHerdNumber = (function () {
// local vars
var elementIndex;
var element;
var init = function (e, i) {
elementIndex = i;
element = e;
addFields();
blockUKFieldChange();
bindKeyDown();
bindKeyUp();
//hideOriginalField();
};
var bindKeyDown = function () {
$('#SheepHerdNumber' + elementIndex).keydown(function (e) {
// allow backspace
if(e.keyCode == 8) return true;
// limit length
var value = $(this).val();
if (value.length>5)
{
return false;
}
});
};
var bindKeyUp = function () {
var i = elementIndex;
var e = element;
$('#SheepHerdNumber' + elementIndex).keyup(function (e) {
var value = $(this).val().toUpperCase();
// white upcassed back to ui
$(this).val(value);
var isValid = checkValid(e,i);
// copy to original element
(value =='' && !isValid) ? element.val('') : element.val('UK ' + $(this).val());
});
};
var checkValid = function(e, i) {
var value = $("#SheepHerdNumber" + i).val();
if (value.length==5)
{
var char1 = value[0];
var char2 = value[1];
var char3 = value[2];
var char4 = value[3];
var char5 = value[4];
//alert($.isNumeric(char5));
// just check that the last 4 chars ar numeric
if (!($.isNumeric(char2) && $.isNumeric(char3) && $.isNumeric(char4) && $.isNumeric(char5)))
{
showIndalidMessage(true, 'invalid herd number');
return false;
}
}
if (value.length==6)
{
var char1 = value[0];
var char2 = value[1];
var char3 = value[2];
var char4 = value[3];
var char5 = value[4];
var char6 = value[5];
// just check that the last 4 chars ar numeric
if (!($.isNumeric(char3) && $.isNumeric(char4) && $.isNumeric(char5) && $.isNumeric(char6)))
{
showIndalidMessage(true, 'invalid herd...