

function ccc13(form) {
  factor = 3;
  sum = 0;
  if (form.idnumber.value.length!=12){
	alert("The ID Number you entered contains only " + form.idnumber.value.length + " digit(s). " + 
	      "\nThe EAN/UCC-13 ID Number requires that you enter 12 digits." +
		  "\n\nPlease check your number and try again.");
	form.checkdigit.value = ""
  } else {
	for (index = form.idnumber.value.length; index > 0; --index) {
	    sum = sum + form.idnumber.value.substring (index-1, index) * factor;
	    factor = 4 - factor;
  	}
  	leadingdigit(form);
  	checkdigit = ((1000 - sum) % 10);
  	form.checkdigit.value = checkdigit;
  }
  return false;
}

function ccc12(form) {
  factor = 3;
  sum = 0;
  if (form.idnumber.value.length!=11){
	alert("The ID Number you entered contains only " + form.idnumber.value.length + " digit(s). " + 
	      "\nThe UCC-12 ID Number requires that you enter 11 digits." +
		  "\n\nPlease check your number and try again.");
    form.checkdigit.value = "" ;
  } else {
	for (index = form.idnumber.value.length; index > 0; --index) {
    sum = sum + form.idnumber.value.substring (index-1, index) * factor;
    factor = 4 - factor;
	}
  checkdigit = ((1000 - sum) % 10);
  form.checkdigit.value = checkdigit;
  pcd(form);
  } 
  return false;
}

function ccc14(form) {
  factor = 3;
  sum = 0;
  if (form.idnumber.value.length!=13){
	alert("The ID Number you entered contains only " + form.idnumber.value.length + " digit(s). " + 
	      "\nThe EAN/UCC-14 ID Number requires that you enter 13 digits." +
		  "\n\nPlease check your number and try again.");
	form.checkdigit.value = ""
  } else {
    for (index = form.idnumber.value.length; index > 0; --index) {
      sum = sum + form.idnumber.value.substring (index-1, index) * factor;
      factor = 4 - factor;
    }
  checkdigit = ((1000 - sum) % 10);
  form.checkdigit.value = checkdigit
  }
  return false;
}

function leadingdigit(form) {
  if (form.idnumber.value.substring(0,1) == 0) {
  	alert("By selecting 0 zero as your first digit, you are indicating" +
	      "\nthe use of a UCC assigned Company Prefix and Identifying a" +
		  "\nGlobal Location Number (GLN)");
  }
  if (form.idnumber.value.substring(0,1) > 0 ) {
  	alert("By selecting 1-9 as your first digit, you are" +
	      "\nindicating the use of an EAN assigned Company" + 
		  "\nPrefix and are identifying GTINs or GLNs");
  }
}

function pcd(form) {
  sum = 0;
  price_cd = 0;
  if (form.idnumber.value.substring(0,1) == 2) {
  	entered_cd = form.idnumber.value.substring(6,7);
    for (index = 7; index <= 8; ++index) {
	  switch (form.idnumber.value.substring(index, index+1))
	  {
	    case "0":
          sum = sum + 0;
		  break;
		case "1":
		  sum = sum + 2;
		  break;
		case "2":
          sum = sum + 4;
		  break;
		case "3":
          sum = sum + 6;
		  break;
		case "4":
          sum = sum + 8;
		  break;
		case "5":
          sum = sum + 9;
		  break;
		case "6":
          sum = sum + 1;
		  break;
		case "7":
          sum = sum + 3;
		  break;
		case "8":
          sum = sum + 5;
		  break;
		case "9":
          sum = sum + 7;
		  break;
	  }
    }
	switch (form.idnumber.value.substring(9, 10))
	{
	  case "0":
        sum = sum + 0;
		break;
	  case "1":
	    sum = sum + 3;
		break;
	  case "2":
        sum = sum + 6;
		break;
	  case "3":
        sum = sum + 9;
		break;
	  case "4":
        sum = sum + 2;
		break;
	  case "5":
        sum = sum + 5;
		break;
	  case "6":
        sum = sum + 8;
		break;
	  case "7":
        sum = sum + 1;
		break;
	  case "8":
        sum = sum + 4;
		break;
	  case "9":
        sum = sum + 7;
		break;
	}
	switch (form.idnumber.value.substring(10, 11))
	{
	  case "0":
        sum = sum + 0;
		break;
	  case "1":
	    sum = sum + 5;
		break;
	  case "2":
        sum = sum + 9;
		break;
	  case "3":
        sum = sum + 4;
		break;
	  case "4":
        sum = sum + 8;
		break;
	  case "5":
        sum = sum + 3;
		break;
	  case "6":
        sum = sum + 7;
		break;
	  case "7":
        sum = sum + 2;
		break;
	  case "8":
        sum = sum + 6;
		break;
	  case "9":
        sum = sum + 1;
		break;
	}
  price_cd = (sum*3) % 10
  if (entered_cd != price_cd) {
    alert("The price check digit of the number you entered is incorrect. " +
	      "You entered a " + entered_cd + "\nbut the correct price check digit is " + price_cd + ". ");
	form.checkdigit.value = "";
    }
  }
} 