function swapIdeas(content)
{
        document.getElementById("helpcontactdiv").style.visibility="hidden";
        document.getElementById("helpcontactdiv").style.display="none";
        if (content=="prefix")
        {
	    document.getElementById("helpimagediv").style.visibility="hidden";
	    document.getElementById("helpimagediv").style.display="none";
	    document.getElementById("currentOver").style.visibility="hidden";
	    document.getElementById("currentOver").style.display="none";
	    document.getElementById("prefixOver").style.visibility="visible";
	    document.getElementById("prefixOver").style.display="block";
        }
        if (content=="current")
        {
	    document.getElementById("helpimagediv").style.visibility="hidden";
	    document.getElementById("helpimagediv").style.display="none";
	    document.getElementById("prefixOver").style.visibility="hidden";
	    document.getElementById("prefixOver").style.display="none";
	    document.getElementById("currentOver").style.visibility="visible";
	    document.getElementById("currentOver").style.display="block";
        }
        if (content=="default")
        {
	    document.getElementById("currentOver").style.visibility="hidden";
	    document.getElementById("currentOver").style.display="none";
	    document.getElementById("prefixOver").style.visibility="hidden";
	    document.getElementById("prefixOver").style.display="none";
	    document.getElementById("helpimagediv").style.visibility="visible";
	    document.getElementById("helpimagediv").style.display="block";
        }
	
	var prefixHeader = 'NEED SOME IDEAS?';
	var currentHeader = 'NEED SOME IDEAS?';
	var defaultHeader = 'SECURE ONLINE SHOP - OPEN 24/7';
	
	document.getElementById("ideas_header").innerHTML = eval(content + 'Header');
}

function checkSearchPrefix()
{
	var prefix = document.getElementById("prefix_prefix").value;
        var number = document.getElementById('prefix_number').options[document.getElementById('prefix_number').selectedIndex].value;
	//var number = document.getElementById("prefix_number").value;
	var suffix = document.getElementById("prefix_suffix").value; 
	if(number == 'ANY')
	{
		number = '';
	}
	var term = prefix + number + suffix;
	term = term.toUpperCase();
         doit=true;
        if (suffix=='' && prefix=='' && number=='') 
        {
             alert("You need to provide something to search");
             doit=false;
        }
        numwild=0;
        if (number=="" || number=="!") numwild++;
        if (suffix.charAt(0)=="@" || suffix.charAt(1)=="@" || suffix.charAt(2)=="@") numwild++;
        if (prefix=="") numwild++;
        if (numwild==3)
        {
           alert("Using 'any' searches in each of the 3 positions will likely produce too many results. Please provide at least one full value to search with");
           doit=false;
        } 
        if (doit)
	   document.location='http://www.carreg.co.uk/number_plates/build_prefix/' + term;
//	document.location='http://www.carreg.co.uk/number_plates/grid/' + suffix;
}

function checkSearchCurrent()
{
        if (document.getElementById("current_prefix").value=="") updateCurrentStart(1); // prefix is empty so we might not have edited yet as it should force a _ in so call an update
        if (document.getElementById("current_suffix").value=="") updateCurrentEnd(1); // suffix is empty so we might not have edited yet as it should force a _ in so call an update

	var prefix = document.getElementById("current_prefix").value;
	//var number = document.getElementById("current_number").value;
        var number = document.getElementById('current_number').options[document.getElementById('current_number').selectedIndex].value;
	var suffix = document.getElementById("current_suffix").value; 
	if(number == 'ANY')
	{
		number = '';
	}

        numwild=0;
        if (number=="") 
        {
            numwild=numwild+1;
        }
        if (prefix.charAt(0)=="_" || prefix.charAt(1)=="_") 
        {
            numwild=numwild+1;
        }
        if (suffix.charAt(0)=="_" || suffix.charAt(1)=="_" || suffix.charAt(2)=="_") numwild=numwild+1;
         doit=true;
        if (numwild==3)
        {
           alert("Using 'any' searches in each of the 3 positions will likely produce too many results. Please provide at least one full value to search with");
           doit=false;
        } 

	var term = prefix + number + suffix;
	term = term.toUpperCase();
        if (doit)
        	document.location='http://www.carreg.co.uk/number_plates/build_current/' + term;
}

function updateNumbers()
{
	AtoH = new Array('ANY', 'RANGE', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20');
	JtoR = new Array('ANY', 'RANGE', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '22', '30', '33', '40', '44', '50', '55', '60', '66', '70', '77', '80', '88', '90', '99', '100', '111', '200', '222', '300', '333', '400', '444', '500', '555', '600', '666', '700', '777', '800', '888', '900', '999');
	KandM = new Array('ANY', 'RANGE', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '22', '30', '33', '40', '44', '50', '55', '60', '66', '70', '77', '80', '88', '90', '99', '100', '111', '155', '200', '222', '300', '333', '400', '444', '500', '555', '600', '666', '700', '777', '800', '888', '900', '999');
	StoY = new Array('ANY', 'RANGE', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '33', '40', '44', '50', '55', '60', '66', '70', '77', '80', '88', '90', '99', '100', '111', '121', '123', '200', '222', '300', '321', '333', '400', '444', '500', '555', '600', '666', '700', '777', '800', '888', '900', '999');

	with(document.getElementById("prefix_number"))
	{
		selectedPrefix = document.getElementById("prefix_prefix").value;

		for(i = options.length - 1; i >= 0; i--)
		{
			options[i] = null;
		}

		switch(selectedPrefix)
		{
			case '': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H':
				for(i = 0; i < AtoH.length; i++)
				{
                                        if (AtoH[i]=="RANGE")
					   options[options.length] = new Option("1-9","!");
                                        else
					   options[options.length] = new Option(AtoH[i], AtoH[i]);
				}
			break;
			case 'J': case 'L': case 'N': case 'P': case 'R':
				for(i = 0; i < JtoR.length; i++)
				{
                                        if (JtoR[i]=="RANGE")
					   options[options.length] = new Option("1-9","!");
                                        else
					   options[options.length] = new Option(JtoR[i], JtoR[i]);
				}
			break;
			case 'K': case 'M':
				for(i = 0; i < KandM.length; i++)
				{
                                        if (KandM[i]=="RANGE")
					   options[options.length] = new Option("1-9","!");
                                        else
					   options[options.length] = new Option(KandM[i], KandM[i]);
				}
			break;
			case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y':
				for(i = 0; i < StoY.length; i++)
				{
                                        if (StoY[i]=="RANGE")
					   options[options.length] = new Option("1-9","!");
                                        else
				  	options[options.length] = new Option(StoY[i], StoY[i]);
				}
			break;
		}
	}
}

function isNumeric(number)
{
	var strValidChars = "0123456789.-";
	var strChar;
	var valid = true;
	if (number.length == 0) return false;
	for (i = 0; i < number.length && valid == true; i++)
	{
		strChar = number.charAt(i);
		if (strValidChars.indexOf(strChar) == -1)
		{
			valid = false;
		}
	}
	return valid;
}

function isAlpha(alphas, type)
{
	var strValidChars = "ABCDEFGHJKLMNOPRSTUVWXYZ";
	if(type == 'prefix')
	{
		var strValidChars = "ABCDEFGHJKLMNOPRSTUVWXY@";
	}
	if(type == 'current')
	{
		var strValidChars = "ABCDEFGHJKLMNOPRSTUVWXYZ_";	
	}
	if(type == 'currenttwo')
	{
		var strValidChars = "ABCDEFGHJKLMNOPRSTUVWXY_";	
	}
	var strChar;
	var aChar = 0;
	var valid = true;
	for (i = 0; i < alphas.length && valid == true; i++)
	{
		strChar = alphas.charAt(i);
		if (strValidChars.indexOf(strChar) == -1)
		{
			aChar = i + 1;
			valid = false;
		}
	}
	return aChar;
}

function updateNumberPrefix(number)
{
	prefixBlankCheck();
	
	if (isNumeric(number) == false && number!="!")
	{
		number = '';
	}	
	if(number.length == 0)
	{
		document.images.prefix_number_1.src = 'http://www.carreg.co.uk/images/plates/any_number.gif';
		document.images.prefix_number_1.width = 27;
		document.images.prefix_number_2.src = 'http://www.carreg.co.uk/images/plates/any_number.gif';
		document.images.prefix_number_2.width = 27;
		document.images.prefix_number_3.src = 'http://www.carreg.co.uk/images/plates/any_number.gif';
		document.images.prefix_number_3.width = 27;
	}
	if(number.length == 1)
	{
		document.images.prefix_number_1.src = 'http://www.carreg.co.uk/images/plates/' + number.charAt(0) + '.gif';
		if(number.charAt(0) == 1)
		{
			document.images.prefix_number_1.width = 11;
		}
		else
		{
			document.images.prefix_number_1.width = 27;
		}
		document.images.prefix_number_2.src = 'http://www.carreg.co.uk/images/spacer.gif';
		document.images.prefix_number_2.width = 0;
		document.images.prefix_number_3.src = 'http://www.carreg.co.uk/images/spacer.gif';
		document.images.prefix_number_3.width = 0;
	}
	if(number.length == 2)
	{
		document.images.prefix_number_1.src = 'http://www.carreg.co.uk/images/plates/' + number.charAt(0) + '.gif';
		if(number.charAt(0) == 1)
		{
			document.images.prefix_number_1.width = 11;
		}
		else
		{
			document.images.prefix_number_1.width = 27;
		}
		document.images.prefix_number_2.src = 'http://www.carreg.co.uk/images/plates/' + number.charAt(1) + '.gif';
		if(number.charAt(1) == 1)
		{
			document.images.prefix_number_2.width = 11;
		}
		else
		{
			document.images.prefix_number_2.width = 27;
		}
		document.images.prefix_number_3.src = 'http://www.carreg.co.uk/images/spacer.gif';
		document.images.prefix_number_3.width = 0;
	}
	if(number.length == 3)
	{
		document.images.prefix_number_1.src = 'http://www.carreg.co.uk/images/plates/' + number.charAt(0) + '.gif';
		if(number.charAt(0) == 1)
		{
			document.images.prefix_number_1.width = 11;
		}
		else
		{
			document.images.prefix_number_1.width = 27;
		}
		document.images.prefix_number_2.src = 'http://www.carreg.co.uk/images/plates/' + number.charAt(1) + '.gif';
		if(number.charAt(1) == 1)
		{
			document.images.prefix_number_2.width = 11;
		}
		else
		{
			document.images.prefix_number_2.width = 27;
		}
		document.images.prefix_number_3.src = 'http://www.carreg.co.uk/images/plates/' + number.charAt(2) + '.gif';
		if(number.charAt(2) == 1)
		{
			document.images.prefix_number_3.width = 11;
		}
		else
		{
			document.images.prefix_number_3.width = 27;
		}
	}
}

function updateNumberCurrent(number)
{
	currentBlankCheck();
	
	if(number == '')
	{
		document.images.current_number_1.src = 'http://www.carreg.co.uk/images/plates/any_number.gif';
		document.images.current_number_2.src = 'http://www.carreg.co.uk/images/plates/any_number.gif';
	}
	else
	{
		document.images.current_number_1.src = 'http://www.carreg.co.uk/images/plates/' + number.charAt(0) + '.gif';
		document.images.current_number_2.src = 'http://www.carreg.co.uk/images/plates/' + number.charAt(1) + '.gif';
	}
	if(number.charAt(0) == 1)
	{
		document.images.current_number_1.width = 11;
	}
	else
	{
		document.images.current_number_1.width = 27;
	}	
	if(number.charAt(1) == 1)
	{
		document.images.current_number_2.width = 11;
	}
	else
	{
		document.images.current_number_2.width = 27;
	}
}

function refreshPrefixImage()
{
   var prefix = document.getElementById("prefix_prefix").value;
   var number = document.getElementById('prefix_number').options[document.getElementById('prefix_number').selectedIndex].value;
   updateNumberPrefix(number)
   updatePrefixEnd(1);
   updatePrefixEnd(2);
   updatePrefixEnd(3);

}

