
// -----------------------------------------------
// VARIABLES.
// -----------------------------------------------

// generic variables.

if( typeof( widthDefault ) == 'undefined' || !(widthDefault )) {
	widthDefault = 25;	
}
if( typeof( widthThin ) == 'undefined' || !(widthThin)) {
	widthThin = 8;	
}
if( typeof( widthBlank ) == 'undefined' || !(widthBlank)) {
	widthBlank = 1;	
}
if( typeof( baseUrl ) == 'undefined' || !(baseUrl != '' )) {
	baseUrl = '/images/plates/quickSearch/char';	
}

// example plate variables.
var displayPrefixExamples = 1;
var displayCurrentExamples = 1;
var displaySeconds = 3;
var selectedPrefix = 0;
var selectedCurrent = 0;
var prefixExamplesArray = new Array('V8__JAG' , 'K155BCR' , 'B16_TOY' , 'M3__CSL' , 'J3__NNY', 'M155UTU' , 'T11_RBO');
var currentExamplesArray = new Array('MY03BMW' , 'MA55AGE' , 'GO06OLF' , 'DO02MAN' , 'HA55FUN');



	function previewPlate(displayReg) {
		displayPrefixExamples = 0;
		displayCurrentExamples = 0;
		var plateArray = loadPlateArrays(style);
		for (i=0; i < displayReg.length; i++) {
	
			var img = document.getElementById(plateArray[i][0]);
	
			var character = displayReg.charAt(i);
			if( img != null ) {
				img.src = baseUrl + character + ".gif";
				resizeChar(img, character);
			}
		}	
	}	

// -----------------------------------------------
// DISPLAY EXAMPLE PLATES.
// -----------------------------------------------

if (displayPrefixExamples == "1" && ( style == 'prefix' || style == '' )) {
	//displayExampleReg('prefix');	
	setTimeout("displayExampleReg('prefix');" , (displaySeconds * 2000));	 // Increased Delay to cope with page loading.
}
if (displayCurrentExamples == "1" && ( style == 'current' || style == '' )) {
	//displayExampleReg('current');	
	setTimeout("displayExampleReg('current');" , (displaySeconds * 2000)); // Increased Delay to cope with page loading.
}

// -----------------------------------------------
// FUNCTIONS.
// -----------------------------------------------

function loadPlateArrays(style) {
	
	var plateArray = new Array();
	var i = 0;
		
	if (style == "prefix") {

		var prefixPrefix = document.getElementById('prefixPrefix');
		if( prefixPrefix != null ) {
			plateArray[i++] = Array('imgPrefixPrefix',  document.getElementById('prefixPrefix').value.charAt(0));
			plateArray[i++] = Array('imgPrefixNumber1', document.getElementById('prefixNumbers').value.charAt(0));
			plateArray[i++] = Array('imgPrefixNumber2', document.getElementById('prefixNumbers').value.charAt(1));
			plateArray[i++] = Array('imgPrefixNumber3', document.getElementById('prefixNumbers').value.charAt(2));
			plateArray[i++] = Array('imgPrefixLetter1', document.getElementById('prefixLetter1').value.charAt(0));
			plateArray[i++] = Array('imgPrefixLetter2', document.getElementById('prefixLetter2').value.charAt(0));
			plateArray[i++] = Array('imgPrefixLetter3', document.getElementById('prefixLetter3').value.charAt(0));
		}

} else if (style == "current") {
	
		var currentLetter1 = document.getElementById('currentLetter1');
		if( currentLetter1 != null ) {
			plateArray[i++] = Array('imgCurrentLetter1', document.getElementById('currentLetter1').value.charAt(0));
			plateArray[i++] = Array('imgCurrentLetter2', document.getElementById('currentLetter2').value.charAt(0));
			plateArray[i++] = Array('imgCurrentNumber1', document.getElementById('currentNumbers').value.charAt(0));
			plateArray[i++] = Array('imgCurrentNumber2', document.getElementById('currentNumbers').value.charAt(1));
			plateArray[i++] = Array('imgCurrentLetter3', document.getElementById('currentLetter3').value.charAt(0));
			plateArray[i++] = Array('imgCurrentLetter4', document.getElementById('currentLetter4').value.charAt(0));
			plateArray[i++] = Array('imgCurrentLetter5', document.getElementById('currentLetter5').value.charAt(0));
		}
	}
	
	return plateArray;
}

function resizeChar(img, character ) {
	if (character == '1') {
		img.width = widthThin;
	} else if (character == '_') {
		img.width = widthBlank;
	} else {
//		if( size ) {
//			img.width = size;		
//		} else {
			img.width = widthDefault;		
//		}
	}
}
function resizeChar25(img, character ) {
	if (character == '1') {
		img.width = widthThin;
	} else if (character == '_') {
		img.width = widthBlank;
	} else {
//		if( size ) {
//			img.width = size;		
//		} else {
			img.width = 25;		
//		}
	}
}

function initiatePlate(style) {

	if (style == "prefix") {
		displayPrefixExamples = 0;
	} else if (style == "current") {
		displayCurrentExamples = 0;
	}

	var plateArray = loadPlateArrays(style); 

	for (i=0; i < plateArray.length; i++) {
		var img = document.getElementById(plateArray[i][0]);
		if( img != null ) {
			img.src = baseUrl + "Question.gif";
			resizeChar(img, '?');
		}
	}
}

function updatePlate(charArray) {
	for (i=0; i < charArray.length; i++) {	
		var character = charArray[i][1];
		character = character.toUpperCase();

		if ((character == "?") || (character == "")) {
			character = "Question";
		}
		
		var img = document.getElementById(charArray[i][0]);
		if( img != null ) {
			img.src = baseUrl + character + ".gif";
			resizeChar(img, character);
		} else {
			//alert( 'problem: ' + charArray[i][0] );
		}
	}
}

function displayExampleReg(style) {
		
	if (style == "prefix") {
		var examplesArray = prefixExamplesArray;
		var selected = selectedPrefix;
		var display = displayPrefixExamples;
	} else if (style == "current") {
		var examplesArray = currentExamplesArray;	
		var selected = selectedCurrent;
		var display = displayCurrentExamples;
	}
	
	var plateArray = loadPlateArrays(style);
	
	if (display == "1") { // show plate.
	
		if (selected >= examplesArray.length) {
			selected = 0;	
		}
			
		var displayReg = examplesArray[selected];
		
		for (i=0; i < displayReg.length; i++) {
	
			var img = document.getElementById(plateArray[i][0]);
	
			var character = displayReg.charAt(i);
			if( img != null ) {
				img.src = baseUrl + character + ".gif";
				resizeChar(img, character);
			}
				
		}	
		
		selected ++;	
		if (style == "prefix") {
			selectedPrefix = selected;
		} else if (style == "current") {
			selectedCurrent = selected;
		}
		
		setTimeout("displayExampleReg('"+style+"');" , (displaySeconds * 1000));	
	} 
	
}
	
function updateCurrentPlate(field, validation) {

	if (displayCurrentExamples == "1") {
		initiatePlate('current');
	}
	
	var validNumericChars = '1234567890';
	var validAlphabeticalCharsPreNumeric = 'ABCDEFGHJKLMNOPRSTUVWXY';
	var validAlphabeticalCharsPostNumeric = 'ABCDEFGHJKLMNOPRSTUVWXYZ';

	// validate data.
	var validChar = 1;
	var fieldValue = field.value.toUpperCase();
	
	if (validation == "n") { // do valid data check.
		if (validNumericChars.indexOf(fieldValue.charAt(0)) == -1) { // invalid.
			validChar = 0;			
			for (i=0; i < 2; i++) { // number chars.
				var img = document.getElementById('imgCurrentNumber'+(i+1));

				if( img != null ) {
					img.src = baseUrl + 'Question.gif';
					img.width = widthThin;
				}
					
			}
			field.value = '?';
		} 
	}
	
	if ((validation == "a1") || (validation == "a2")) {
		if (validation == "a1") {
			var validAlphabeticalChars = validAlphabeticalCharsPreNumeric;
		} else {
			var validAlphabeticalChars = validAlphabeticalCharsPostNumeric;			
		}
		
		if (validAlphabeticalChars.indexOf(fieldValue.charAt(0)) == -1) { // invalid.
			validChar = 0;
			var fieldName = field.name;
			var imgName = fieldName.substring(0,1).toUpperCase() + fieldName.substring(1);
			var img = document.getElementById('img'+imgName);
			
			if( img != null ) {
				img.src = baseUrl + 'Question.gif';
				field.value = '?';
			}
		} 
	}	

	// display plate.
	var charArray = loadPlateArrays('current');
	updatePlate(charArray);	
}



function updatePrefixPlate(field, validation) {
	if (displayPrefixExamples == "1") {
		initiatePlate('prefix');
	}

	var validNumericChars = '1234567890';
	var validAlphabeticalChars = 'ABCDEFGHJKLMNOPRSTUVWXY';

	var validChar = 1;
	var fieldValue = field.value.toUpperCase();
	
	if (validation == "n") { // do valid data check.
		if (validNumericChars.indexOf(fieldValue.charAt(0)) == -1) { // invalid.
			validChar = 0;			
			for (i=0; i < 3; i++) { // number chars.
				var img = document.getElementById('imgPrefixNumber'+(i+1));
				if( img != null ) {
					img.src = baseUrl + 'Question.gif';
					img.width = widthThin;
				}
			}
			field.value = '?';
		} 
	}
	
	if (validation == "a") {
		if (validAlphabeticalChars.indexOf(fieldValue.charAt(0)) == -1) { // invalid.
			validChar = 0;
			var fieldName = field.name;
			var imgName = fieldName.substring(0,1).toUpperCase() + fieldName.substring(1);
			var img = document.getElementById('img'+imgName);

			if( img != null ) {
				img.src = baseUrl + 'Question.gif';
			}
			field.value = '?';
		} 
	}	

	// display plate.
	var charArray = loadPlateArrays('prefix'); 
	updatePlate(charArray);	
}
