function start() {
  init();
  price();
  plateload();
  rsize();
  toggleHoney();
  updateBorder();
}
window.onload = start;
function setDisplay(objectID, state) {
	var object = document.getElementById(objectID);
	object.style.display = state;
}
function getDisplay(objectID) {
	var object = document.getElementById(objectID);
	state = object.style.display;
	return state;
}
function setVisibility(objectID, state) {
	var object = document.getElementById(objectID);
	object.style.visibility = state;
}
function getVisibility(objectID) {
	var object = document.getElementById(objectID);
	state = object.style.visibility;
	return state;
}
// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function setCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

function togglerear() {
		var number = getCheckedValue(document.platemaker.borderselect);
		if (number =='borderY') {
			setVisibility('rearborder', 'hidden');
			setDisplay('rearborder', 'none');
		}else if (number =='borderN') {
			setVisibility('rearborder', 'visible');
			setDisplay('rearborder', 'block');
		}
}

function togglerearbadge() {
		var showrear = getCheckedValue(document.platemaker.badgerear);
		if (showrear =='badgeY') {
			setVisibility('badgeno', 'hidden');
			setDisplay('badgeno', 'none');
			setVisibility('badgenochoice', 'hidden');
			setDisplay('badgenochoice', 'none');
			setVisibility('chooseone', 'hidden');
			setDisplay('chooseone', 'none');
		}else if (showrear =='badgeN') {
			setVisibility('badgeno', 'visible');
			setDisplay('badgeno', 'block');
			setVisibility('badgenochoice', 'visible');
			setDisplay('badgenochoice', 'block');
			setVisibility('chooseone', 'visible');
			setDisplay('chooseone', 'block');
		}
}

function init() {
	if (document.getElementById('top') != null) {
		hide();
	}	
	if (document.getElementById('art') != null) { 
	setVisibility('art', 'hidden');
	setDisplay('art', 'none');
	setVisibility('customsize', 'hidden');
	setDisplay('customsize', 'none');
	}
	if (document.getElementById('notes') != null) { setVisibility('notes', 'hidden');
	setDisplay('notes', 'none'); }
	
	if (document.getElementById('font') != null) {
		var hidType = document.getElementById('hiddentype').value;
		var hidMat = document.getElementById('hiddenrearmat').value;
		var hidBg = document.getElementById('hiddenbg').value;
		//alert(hidType + hidMat + hidBg);
		if (hidBg == 'yellow') {
			if (hidMat == 'acrylic') {
				if (hidType == 'legal') {				
					setVisibility('rearone', 'hidden');
					setDisplay('rearone', 'none');
					setVisibility('rearonelabel', 'hidden');
					setDisplay('rearonelabel', 'none');
					setVisibility('honeysection', 'hidden');
					setDisplay('honeysection', 'none');
					setVisibility('artsection', 'hidden');
					setDisplay('artsection', 'none');
					setVisibility('slogandiv', 'hidden');
					setDisplay('slogandiv', 'none');
				}
			} else if (hidMat == 'metal') {
				setVisibility('rearone', 'hidden');
				setDisplay('rearone', 'none');
				setVisibility('rearonelabel', 'hidden');
				setDisplay('rearonelabel', 'none');
				setVisibility('honeysection', 'hidden');
				setDisplay('honeysection', 'none');
				setVisibility('artsection', 'hidden');
				setDisplay('artsection', 'none');
				setVisibility('badgediv', 'hidden');
				setDisplay('badgediv', 'none');
				setVisibility('borderdiv', 'hidden');
				setDisplay('borderdiv', 'none');
				setVisibility('fontdiv', 'hidden');
				setDisplay('fontdiv', 'none');
				setVisibility('slogandiv', 'hidden');
				setDisplay('slogandiv', 'none');
			}
		} else if (hidBg == 'black') {
			setVisibility('rearone', 'hidden');
			setDisplay('rearone', 'none');
			setVisibility('rearonelabel', 'hidden');
			setDisplay('rearonelabel', 'none');
			setVisibility('honeysection', 'hidden');
			setDisplay('honeysection', 'none');
			setVisibility('artsection', 'hidden');
			setDisplay('artsection', 'none');
			setVisibility('badgediv', 'hidden');
			setDisplay('badgediv', 'none');
			setVisibility('borderdiv', 'hidden');
			setDisplay('borderdiv', 'none');
			setVisibility('fontdiv', 'hidden');
			setDisplay('fontdiv', 'none');
			setVisibility('slogandiv', 'hidden');
			setDisplay('slogandiv', 'none');
			
			if (document.getElementById('rearsquarewrap') != null) {
				var blacksquare = document.getElementById('rearsquarewrap');				
				blacksquare.style.backgroundImage = "url(plateimages/pureblack_square.jpg)";
			}
			if (document.getElementById('rearplatewrap') != null) {
				var blackoblong = document.getElementById('rearplatewrap');				
				blackoblong.style.backgroundImage = "url(plateimages/pureblack.jpg)";
			}
		}
	}
	
}

function artcheck() {
	var artvalue = document.getElementById('checkart').checked;
	if (artvalue == true) {
		setVisibility('art', 'visible');
		setDisplay('art', 'block');
		
	} else if (artvalue == false) {
		setVisibility('art', 'hidden');
		setDisplay('art', 'none');
	}
	price();
	return;
}

function notescheck() {
	var notesvalue = document.getElementById('checknotes').checked;
	if (notesvalue == true) {
		setVisibility('notes', 'visible');
		setDisplay('notes', 'block');
	} else if (notesvalue == false) {
		setVisibility('notes', 'hidden');
		setDisplay('notes', 'none');
	}
}

function badgevalue() {		
		if (document.getElementById('rearsize') != null) {
		rearsize_index = document.getElementById('rearsize').selectedIndex;
		rearsize_value = document.getElementById('rearsize').options[rearsize_index].value;
		if (rearsize_value == "") { rearsize_value = 0; }
		} else { rearsize_value = 0; }		
		
		if (document.getElementById('rearnum1') != null) {
		rearnum1_value = document.getElementById('rearnum1').value;
		if (rearnum1_value == "") { rearnum1_value = 0; }
		} else { rearnum1_value = 0; }
		
		if (document.getElementById('rearnum2') != null) {
		rearnum2_value = document.getElementById('rearnum2').value;
		if (rearnum2_value == "") { rearnum2_value = 0; }
		} else { rearnum2_value = 0; }
		
		if (document.getElementById('rearone') != null) {
		rearone_index = document.getElementById('rearone').checked;
			if (rearone_index == true) {
				rearone_value = "rearoneY"; 
			} else { rearone_value = 0; }
		} else { rearone_value = 0; } 		
		
		if (document.getElementById('font') != null) {
		font_index = document.getElementById('font').selectedIndex;
		font_value = document.getElementById('font').options[font_index].value;
		if (font_value == "") { font_value = 0; }
		} else { font_value = 0; }
		
		if (document.getElementById('badgerear') != null) {
		badgerear_index = document.getElementById('badgerear').selectedIndex;
		badgerear_value = document.getElementById('badgerear').options[badgerear_index].value;
		if (badgerear_value == "") { badgerear_value = 0; }
		} else { badgerear_value = 0; }
		
		if (document.getElementById('subbadgerear') != null) {
		subbadge_index = document.getElementById('subbadgerear').selectedIndex;
		subbadge_value = document.getElementById('subbadgerear').options[subbadge_index].value;
		if (subbadge_value == "") { subbadge_value = 0; }
		} else { subbadge_value = 0; }
		
		if (document.getElementById('border') != null) {
		border_index = document.getElementById('border').selectedIndex;
		border_value = document.getElementById('border').options[border_index].value;
		if (border_value == "") { border_value = 0; }
		} else { border_value = 0; }
		
		if (document.getElementById('slogan') != null) {
		slogan_value = document.getElementById('slogan').value;
		if (slogan_value == "") { slogan_value = 0; }
		} else { slogan_value = 0; }
		
		/*if (document.getElementById('badgerear') != null) {
			badgerear_value = getCheckedValue(document.platemaker.badgerear);
		} else { badgerear_value = 0; } */
		
		if (document.getElementById('honeycomb') != null) {
			honeycomb_value = getCheckedValue(document.platemaker.honeycomb);
		} else { honeycomb_value = 0; }
		
		self.location = 
		"platemaker.php?rearsize=" + rearsize_value + "&font=" + font_value + "&badgerear=" + badgerear_value + "&subbadge=" + subbadge_value + "&rearnum1=" + rearnum1_value + "&rearnum2=" + rearnum2_value + "&rearone=" + rearone_value + "&border=" + border_value + "&honeycomb=" + honeycomb_value + "&slogan=" + slogan_value;
						
}
function rsize() {
	if (document.getElementById('rearsize') != null) {
		price();
		//var rearsize_value = "Standard UK Car Oblong 20½\" x 4 3/8\" - 520mm x 111mm"
		
		var rearsize_index = document.getElementById('rearsize').selectedIndex;
		
		rearsize_value = document.getElementById('rearsize').options[rearsize_index].text;
		if (rearsize_value == 'Custom Size Plate') {
			setVisibility('customsize', 'visible');
			setDisplay('customsize', 'block');
			var customWidth = document.getElementById("width").value;
			var customHeight = document.getElementById("height").value;
			rsize_ratio = (parseInt(customWidth)/parseInt(customHeight));
		} else {
			if ((rearsize_value == 'Short Reg UK Bike Plate 6.5" x 6.5" - 165mm x 165mm') && (document.getElementById('warn65').value == 'warn')) {
				document.getElementById('warn65').value = 'none';
				alert('This plate size can only be used for registration numbers with six (6) or less characters.');
			}
			setVisibility('customsize', 'hidden');
			setDisplay('customsize', 'none');
		}
		if (rearsize_value != 'Custom Size Plate') {
			digits = /\d{2,3}[m]{2}/g;
			digitarray = rearsize_value.match(digits);
			if (digitarray != null) {
				rsize_ratio = (parseInt(digitarray[0])/parseInt(digitarray[1]));
			} else {
				rsize_ratio = null;
			}	
		}
		if (rsize_ratio >= 3 )  {
			shape = "oblong";
			var rearnum1 = document.getElementById('rearnum1');
			var rearnum2 = document.getElementById('rearnum2');
			if ((rearnum1.value != '') && (rearnum2.value != '') && (rearnum1.value != ' ') && (rearnum2.value != ' ')) {
				var newRegnum = rearnum1.value + " " + rearnum2.value;
				rearnum1.value = newRegnum;
				rearnum2.value = '';
			}
			setVisibility('rearsquarewrap', 'hidden');
			setDisplay('rearsquarewrap', 'none');
			setVisibility('rearplatewrap', 'visible');
			setDisplay('rearplatewrap', 'block');
			setVisibility('rearline1', 'hidden');
			setVisibility('rearline2', 'hidden');
			setVisibility('rearnum2', 'hidden');
			document.getElementById('rearnum2').disabled = true;
			document.getElementById('rearone').disabled = true;
		} else if ((rsize_ratio < 3 ) || (rsize_ratio == null )){
			shape = "square";
			var rearnum1 = document.getElementById('rearnum1');
			var rearnum2 = document.getElementById('rearnum2');
			var oneline = document.getElementById('rearone').checked;
			if ((oneline == false) || ((rearnum1.value.length + rearnum2.value.length) > 5)) {
				var rearnum1Value = rearnum1.value;
				var rearnum_index = rearnum1Value.indexOf(' ');
				if (rearnum_index != '-1') {
					rearnum1.value = rearnum1Value.substring(0,(rearnum_index));
					rearnum2.value = rearnum1Value.substring(rearnum_index+1);
				}
			} else if (oneline == true) {
				var newRegnum = rearnum1.value + " " + rearnum2.value;
				rearnum1.value = newRegnum;
				rearnum2.value = '';
			}
			setVisibility('rearplatewrap', 'hidden');
			setDisplay('rearplatewrap', 'none');
			setVisibility('rearsquarewrap', 'visible');
			setDisplay('rearsquarewrap', 'block');
			setVisibility('rearline1', 'visible');
			setVisibility('rearline2', 'visible');
			setVisibility('rearnum2', 'visible');
			document.getElementById('rearnum2').disabled = false;
			document.getElementById('rearone').disabled = false;
		}
	}
	if (document.getElementById("rearplate")) {updateregnum("rearplate");}
	if (document.getElementById("rearsquare")) {updatesquarenum("rearsquare");}
	return;
}

function price() {
	if (document.getElementById('font') != null) {
		var totalPrice = 0.00;
		if (document.getElementById("hiddenfrontprice")) {
		var frontPriceHidden = document.getElementById("hiddenfrontprice");
		var frontPriceValue = frontPriceHidden.value;
		var frontPriceArray = frontPriceValue.split(",");
		if (!document.getElementById("frontsize")) {
			return false
		} else {
		var frontsizeHidden = document.getElementById("frontsize");	
		frontsize_index = frontsizeHidden.selectedIndex;
		frontsizeHidden_value = frontsizeHidden.options[frontsize_index].value;
		//alert (overArray.length);
		for (var i=0; i<(frontPriceArray.length); i++) {		
			var pipe = frontPriceArray[i].split("|");		
			if (frontsizeHidden_value == pipe[0]) {
				var fprice = pipe[1];
				totalPrice = totalPrice + parseFloat(pipe[1]);
			}
		}	
		}
		}
		
		if (document.getElementById("hiddenrearprice")) {
		var rearPriceHidden = document.getElementById("hiddenrearprice");
		var rearPriceValue = rearPriceHidden.value;
		var rearPriceArray = rearPriceValue.split(",");
		if (!document.getElementById("rearsize")) {
			return false
		} else {
		var rearsizeHidden = document.getElementById("rearsize");	
		rearsize_index = rearsizeHidden.selectedIndex;
		rearsizeHidden_value = rearsizeHidden.options[rearsize_index].value;
		//alert (overArray.length);
		for (var i=0; i<(rearPriceArray.length); i++) {		
			var pipe2 = rearPriceArray[i].split("|");		
			if (rearsizeHidden_value == pipe2[0]) {
				var rprice = pipe2[1];
				totalPrice = totalPrice + parseFloat(pipe2[1]);
			}
		}	
		}
		}
		
		var platenoValue = 1;
		
		if (document.getElementById("slogan")) {
			var slogan = document.getElementById("slogan");
			var sloganValue = slogan.value;
			regexSlogan = /\w{2,}/;			
			if ((sloganValue.match(regexSlogan)) && (sloganValue != "www.bike-plate.com")) {
				totalPrice = (totalPrice + (platenoValue * 1.25));
			}
		}
		
		if (document.getElementById("subbadgerear")) {				
				var legalBadge = document.getElementById("subbadgerear");
				var legalBadge_index = legalBadge.selectedIndex;
				var legalBadge_value = legalBadge.options[legalBadge_index].value;	
			if ((legalBadge_value != '0') && (legalBadge_value != ' ') && (legalBadge_value != '')) {
				totalPrice = (totalPrice + (platenoValue * 2.50));
			}
		}
		
		if (document.getElementById("border")) {
			var border = document.getElementById("border");
			border_index = border.selectedIndex;
			border_value = border.options[border_index].value;					
			if (border_value != '0') {
				totalPrice = (totalPrice + (platenoValue * 1.25));
			}
		}
		
		if (document.getElementById("honeycomb")) {
			var honeycomb = document.getElementById("honeycomb");
			var honeycomb_value = getCheckedValue(honeycomb);
			var plateOblong = document.getElementById('rearplate');
			var plateSquare = document.getElementById('rearsquare');						
			if (honeycomb_value == 'honeyY') {
				totalPrice = (totalPrice + (platenoValue * 2.00));				
			}
		}
		
		var fontType = document.getElementById("font");
		fontType_index = fontType.selectedIndex;
		fontType_value = fontType.options[fontType_index].text;
		f = fontType_value;
		regexPlain = /Pla.*/;
		regex3D = /3.*/;
		if (f.match(regexPlain)) {
			totalPrice = totalPrice;
		} else if (f.match(regex3D)) {
			totalPrice = (totalPrice + (platenoValue * 2.00));
		} else {
			totalPrice = (totalPrice + (platenoValue * 4.00));
		}
		
		var artvalue = document.getElementById('checkart').checked;
		if (artvalue == true) {
			totalPrice = (totalPrice + 8.00);
		}
		
		var priceLabel = document.getElementById("price");
		if (totalPrice.toFixed) { //if browser supports toFixed() method
			totalPrice = totalPrice.toFixed(2)
		}	
		priceLabel.innerHTML = "£" + totalPrice;
		var finalTotal = document.getElementById("totalprice");
		finalTotal.value = totalPrice;
	}
	return;
}
function toggleHoney() {
	if (document.getElementById('font') != null) {
		var hidBg = document.getElementById('hiddenbg').value;
		var honeycomb = document.getElementById("honeycomb");
		var honeycomb_value = getCheckedValue(honeycomb);
		var plateOblong = document.getElementById('rearplate');
		var plateSquare = document.getElementById('rearsquare');
		if (hidBg != 'black') {
			if (honeycomb_value == 'honeyY') {
				plateOblong.style.backgroundImage = 'url(images/grid_oblong.gif)';
				plateSquare.style.backgroundImage = 'url(images/grid_square.gif)';  
			} else {
				plateOblong.style.backgroundImage = 'none';
				plateSquare.style.backgroundImage = 'none'; 
			}
		}
		price();
	}
}
function chooseone() {
	category_index = document.getElementById('badgerear').selectedIndex;
	category_value = document.getElementById('badgerear').options[category_index].value;
	//self.location = "order.php?plate=" + category_value;
	xajax_getOptions(category_value); 
}
function image(){
	var choose = document.getElementById('subbadgerear');
	var choose_index = choose.selectedIndex;
	var choose_value = choose.options[choose_index].value;
	var size_value = 'oversize';
	//var size_value = document.getElementById('name').value;
	//var varsString = "imageid=" + choose_value;
	xajax_getImage(choose_value, size_value);
	//xajax_makeBold(choose);
}