var Prefix = '';

function Check(item_name,myDiv_name,mydropdown){
  var myDiv = document.getElementById(myDiv_name);
  var input = document.getElementById(item_name);
  
  input.value = input.value.toUpperCase();
  if (mydropdown != ''){
    
    var dropdown = document.getElementById(mydropdown);
	var index = dropdown.selectedIndex;
	
    if (dropdown.selectedIndex > 0 ) {
		myDiv.innerHTML = '<A CLASS=red2></A>'; 
		return;
	}
  }
  
  input.value = input.value.replace(/\W/,'');
  input.value = input.value.replace(/t/,'');
  Prefix = '';
  input.value = fastCheck(input.value);
  input.value = input.value.substring(0,11);

  if (input.value.length >= 10){
	var correct_nr = onKey(input.value,myDiv);  

		input.value = input.value.substring(0,10)+''+correct_nr;

  }else{

	 myDiv.innerHTML = '<A CLASS=red2>'+Prefix+'</A>'; 
  }
}

function fastCheck(input){
  if (input.length >= 4 ){

     var input1 = input.substr(0,4);
	 //alert(input1);
	 //alert(Prefix_Leasing);
     var input2 = input.substr(4,input.length);
     var myRegExp = new RegExp('[a-zA-Z]{4}'); 
     if (myRegExp.test(input1)){
		var done = 0;
        Prefix = ''; 
		var x = '';
	   for(var y in Prefix_Leasing){
		   x = Prefix_Leasing[y];
		   if (x.charAt(0) == input1.charAt(0)) 
		     if (x.charAt(1) == input1.charAt(1)) 
			   if(x.charAt(2) == input1.charAt(2)) 
			     if(x.charAt(3) == input1.charAt(3)) {
                    Prefix = 'Lease container';
                    break;
		   }
		  
	   }
	   if (Prefix == '')
	   for(var y in Prefix_Carrier){
		   x = Prefix_Carrier[y];
		   if (x.charAt(0) == input1.charAt(0))
		     if (x.charAt(1) == input1.charAt(1)) 
			   if(x.charAt(2) == input1.charAt(2)) 
			     if(x.charAt(3) == input1.charAt(3)) {
                   Prefix = ''+Prefix_Carrier_Name[y]+' container';
			       break;
		   }
	   }
	   if (Prefix == '') Prefix = 'Prefix is unknown';
       var myRegExp2 = new RegExp('[a-zA-Z]+');
       
       if (myRegExp2.test(input2)) {input2 = ''; }
       input = input1+''+input2;
       
     }else{
       input = '';
     }
  }
  return input;
 }
 

function setLink(i)
{
  return i.link1.value+i.input.value+i.link2.value;
}
function c_Calc(d)
{
  switch (d) {
  case 'A' : return 10;
  case 'B' : return 12;
  case 'C' : return 13;
  case 'D' : return 14;
  case 'E' : return 15;
  case 'F' : return 16;
  case 'G' : return 17;
  case 'H' : return 18;
  case 'I' : return 19;
  case 'J' : return 20;
  case 'K' : return 21;
  case 'L' : return 23;
  case 'M' : return 24;
  case 'N' : return 25;
  case 'O' : return 26;
  case 'P' : return 27;
  case 'Q' : return 28;
  case 'R' : return 29;
  case 'S' : return 30;
  case 'T' : return 31;
  case 'U' : return 32;
  case 'V' : return 34;
  case 'W' : return 35;
  case 'X' : return 36;
  case 'Y' : return 37;
  case 'Z' : return 38;
  case '0' : return 0;
  case '1' : return 1;
  case '2' : return 2;
  case '3' : return 3;
  case '4' : return 4;
  case '5' : return 5;
  case '6' : return 6;
  case '7' : return 7;
  case '8' : return 8;
  case '9' : return 9;
  default  : return 0;
  }
return 0;
}


 function onCheck(input){
  var myRegExp = new RegExp('[a-zA-Z]{4}[0-9]{7}');
  return myRegExp.test(input);
 }
 
 function onValid(input){
   if (onCheck(input))
    return '<INPUT TYPE=submit NAME=SUBMIT onClick=this.submit(); VALUE=Track>';
   return '<INPUT TYPE=submit NAME=SUBMIT disabled VALUE=Track>';
 }
 
 function onKey(input, myDiv) {
  var result = 0;
  var test = 0;

  result  = c_Calc(input.charAt(0));
  result += 2*c_Calc(input.charAt(1));
  result += 4*c_Calc(input.charAt(2));
  result += 8*c_Calc(input.charAt(3));
  result += 16*c_Calc(input.charAt(4));
  result += 32*c_Calc(input.charAt(5));
  result += 64*c_Calc(input.charAt(6));
  result += 128*c_Calc(input.charAt(7));
  result += 256*c_Calc(input.charAt(8));
  result += 512*c_Calc(input.charAt(9));
  
  test = ((result % 11)% 10)-input.charAt(10);

  if (test == 0) 
	  myDiv.innerHTML = '<A CLASS=red2></A>';
  else
    myDiv.innerHTML = '<A CLASS=red2>Correct check digit is : '+((result % 11)% 10)+'</A>';
  return ((result % 11)% 10);
    if (!onCheck(input))
    return '<A CLASS=red2>Incorrect number</A>';
}

 function addToFavorites() { 
  if (window.external) 
  { 
     window.external.AddFavorite('http://www.pier2pier.com/index.php?layout=links&sub=2&linked=1','pier2pier.com, check digit calculater'); 
  } 
   else { alert('Sorry! Your browser doesnt support this function.'); 
 }
}


