// JavaScript Document

var $charType = "/images/platebuilder2/chars/";

function buildRegNo(){
	document.getElementById("regno").value = document.getElementById("prefix").value + document.getElementById("numbers").value + " " + document.getElementById("letter1").value + document.getElementById("letter2").value + document.getElementById("letter3").value;
}

function changePrefix()	{
	document.getElementById("imgLet1").src = $charType + "any.gif";
	document.getElementById("imgLet2").src = $charType + "any.gif";
	document.getElementById("imgLet3").src = $charType + "any.gif";
	document.getElementById("imgLet4").src = $charType + "any.gif";
	
	var strPrefix = document.getElementById("prefix").value;
	if (strPrefix == ""){
		document.getElementById("imgLet1").src = $charType + "any.gif";
		document.getElementById("imgLet2").src = $charType + "any.gif";
	}else if(strPrefix.length == 1){
		document.getElementById("imgLet1").src = $charType + strPrefix.charAt(0) + ".gif";
		document.getElementById("imgLet2").src = $charType + "any.gif";
	}else if(strPrefix.length == 2){
		document.getElementById("imgLet1").src = $charType + strPrefix.charAt(0) + ".gif";
		document.getElementById("imgLet2").src = $charType + strPrefix.charAt(1) + ".gif";
	}
	buildRegNo();
	generateNumbers();
	document.getElementById("numbers").focus();
}

function generateNumbers(){
	var strPrefix = document.getElementById("prefix").value;
	var numOpt = document.getElementById("numbers").options;
	
	if(strPrefix == ""){
		numOpt.length = 0;
	}else if(strPrefix.length == 1){
		switch(strPrefix){
			case "A": case "B": case "C": case "D": case "E": case "F": case "G": case "H":
				for(i=1; i<=20;i++)	{
					numOpt[i] = new Option(i,i);
				}
				break;
			case "J": case "K": case "L": case "M": case "N": case "P": case "R":
				for(i=1; i<=20;i++)	{
					numOpt[i] = new Option(i,i);
				}
				numOpt[numOpt.length] = new Option("22","22");
				for(i=3; i<=9; i++)	{
					for(j=1; j<=2;j++)	{
						if(j==1)	{
							numOpt[numOpt.length] = new Option(i + "0",i + "0");
						}else{
							numOpt[numOpt.length] = new Option(String(i) + String(i),String(i) + String(i));
						}
					}
				}
					for(i=1; i<=9; i++)	{
						for(j=1; j<=2;j++)	{
							if(j==1)	{
								numOpt[numOpt.length] = new Option(i + "00",i + "00");
							}
							else	{
								numOpt[numOpt.length] = new Option(String(i) + String(i) + String(i),String(i) + String(i) + String(i));
							}
						}
					}												
				break;
				case "S": case "T": case "V": case "W": case "X": case "Y":
					for(i=1; i<=31;i++)	{
						numOpt[numOpt.length] = new Option(i,i);
					}
					numOpt[numOpt.length] = new Option("33","33");
					for(i=4; i<=9; i++)	{
						for(j=1; j<=2;j++)	{
							if(j==1)	{
								numOpt[numOpt.length] = new Option(i + "0",i + "0");
							}
							else	{
								onumOpt[numOpt.length] = new Option(String(i) + String(i),String(i) + String(i));
							}
						}
					}
					for(i=1; i<=9; i++)	{
						for(j=1; j<=2;j++)	{
							if(j==1)	{
								numOpt[numOpt.length] = new Option(i + "00",i + "00");
								if(i==3)	{
									numOpt[numOpt.length] = new Option("321","321");
								}
							}
							else	{
								numOpt[numOpt.length] = new Option(String(i) + String(i) + String(i),String(i) + String(i) + String(i));
								if(i==1)	{
									numOpt[numOpt.length] = new Option("121","121");
									numOpt[numOpt.length] = new Option("123","123");
								}
							}
						}
					}						
				break;
				default:
					for(i=numOpt.length-1;i>=0;i--) {
						numOpt[i] = null;
					}
			}
	}else if(strPrefix.length == 2){
		numOpt[1] = new Option("51","51");
		numOpt[2] = new Option("02","02");
		numOpt[3] = new Option("52","52");
		numOpt[4] = new Option("03","03");
		numOpt[5] = new Option("53","53");
		numOpt[6] = new Option("04","04");
		numOpt[7] = new Option("54","54");
		numOpt[8] = new Option("05","05");
		numOpt[9] = new Option("56","56");
		numOpt[10] = new Option("06","06");
		numOpt[11] = new Option("57","57");
		numOpt[12] = new Option("07","07");
		numOpt[13] = new Option("58","58");
		numOpt[14] = new Option("08","08");
		numOpt[15] = new Option("59","59");
		numOpt[16] = new Option("09","09");
		for(i=numOpt.length; i>=17; i--){
			numOpt[i] = null;
		}
	}
}

function changeNumbers(){
	var strPrefix = document.getElementById("prefix").value;
	var strNumbers = document.getElementById("numbers").value;
	if(strNumbers == ""){
		document.getElementById("imgLet3").src = $charType + "any.gif";
		document.getElementById("imgLet4").src = $charType + "any.gif";
	}else{
		if(strNumbers.length == 1){
			document.getElementById("imgLet2").src = $charType + strNumbers.charAt(0) + ".gif";
			document.getElementById("imgLet3").src = $charType + "spacer.gif";
			document.getElementById("imgLet4").src = $charType + "spacer.gif";
		}else if(strNumbers.length == 2){
			if(strPrefix.length == 1){
				document.getElementById("imgLet2").src = $charType + strNumbers.charAt(0) + ".gif";
				document.getElementById("imgLet3").src = $charType + strNumbers.charAt(1) + ".gif";
				document.getElementById("imgLet4").src = $charType + "spacer.gif";
			}else if(strPrefix.length == 2){
				document.getElementById("imgLet3").src = $charType + strNumbers.charAt(0) + ".gif";
				document.getElementById("imgLet4").src = $charType + strNumbers.charAt(1) + ".gif";
			}
		}else if(strNumbers.length == 3){
			document.getElementById("imgLet2").src = $charType + strNumbers.charAt(0) + ".gif";
			document.getElementById("imgLet3").src = $charType + strNumbers.charAt(1) + ".gif";
			document.getElementById("imgLet4").src = $charType + strNumbers.charAt(2) + ".gif";
		}
		buildRegNo();
	}
}

function changeChars1(){
	var strLetter1 = document.getElementById("letter1").value;
	if(strLetter1 == ""){
		document.getElementById("imgLet6").src = $charType + "any.gif";
	}else{
		document.getElementById("imgLet6").src = $charType + strLetter1.charAt(0) + ".gif";
	}
	buildRegNo();
}

function changeChars2(){
	var strLetter2 = document.getElementById("letter2").value;
	if(strLetter2 == ""){
		document.getElementById("imgLet7").src = $charType + "any.gif";
	}else{
		document.getElementById("imgLet7").src = $charType + strLetter2.charAt(0) + ".gif";
	}
	buildRegNo();
}

function changeChars3(){
	var strLetter3 = document.getElementById("letter3").value;
	if(strLetter3 == ""){
		document.getElementById("imgLet8").src = $charType + "any.gif";
	}else{
		document.getElementById("imgLet8").src = $charType + strLetter3.charAt(0) + ".gif";
	}
	buildRegNo();
}

function startTrigger(){
	document.getElementById("trigger").style.display = "none";
	document.getElementById("triggerTwo").style.display = "none";
	ajaxpage('/includes/platebuilder2.htm', 'letterArea');
	ajaxpage('/includes/platebuilder.htm', 'prefixArea');
}

// ***** Start of Ajax code *****

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}

// ***** End of Ajax code *****