function isValidVINlength( vin ) {
	//check num of digits
	if (vin.length != 17) {
		return ("VIN must contain 17 characters")
	}
	
	return true
}


function isValidVIN( vin ) {
	//check num of digits
	if (vin.length != 17) {
		return ("VIN must contain 17 characters")
	}
	//check CHECK digit
	vinSum = ( getVinValue( vin ).toString() )
	if ( (vinSum % 11 ) != ( vinDigitValue(vin.charAt((9)-1)) ) ) {
		return ("This VIN is not valid.")
	}	
		
	return true
}

function getVinValue( vin ) {
	value = 0
	for ( i = 0 ; i!=17 ; ++i ) {
		value += (vinDigitValue(vin.charAt(i)) * vinMultiplyer(i) )
	}
	return value
}

function vinDigitValue( char ) {
	
	var charMap = new Array ( )
	charMap[0] = new Array ( 'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','R','S','T','U','V','W','X','Y','Z' )
	charMap[1] = new Array ( 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,9,2,3,4,5,6,7,8,9 )
	
	if ( !isNaN(char) ) {
		 return char
	}
		else if (char.length == 1){
			for ( j = 0 ; j!=charMap[0].length ; ++j ) {
				if( char.toUpperCase() == charMap[0][j] ) {
					return ( charMap[1][j] ) 
				}
			}
			return ( 0  ) //if not found in the Array
			
		}
			else { return ( 0 ) }

}

function vinMultiplyer( index ) {
	
	if ( !isNaN(index) ) {
		var mul = new Array ( 8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2 )
		return mul[index]
	}
		else { return ( 0 ) }
	
}

  
  