function cfpopup(href){
	popup(href, 'Custom Fender', 200, 500);
}

function UpdateCustomFenderType(price){
	var bikeTypeValue = getCheckedValue(document.forms['custom_fender'].bikeType);
	if(bikeTypeValue){
		
		UpdateCustomFenderYears(bikeTypeValue);
		UpdateCustomFenderOption('fs-Stretched',fenderLayer[bikeTypeValue]['FenderStyle']['Stretched']);
		UpdateCustomFenderOption('fs-Short',fenderLayer[bikeTypeValue]['FenderStyle']['Short']);
		UpdateCustomFenderOption('lp-Smooth',fenderLayer[bikeTypeValue]['LicensePlate']['Smooth']);
		UpdateCustomFenderOption('lp-Recessed',fenderLayer[bikeTypeValue]['LicensePlate']['Recessed']);
		UpdateCustomFenderOption('lp-Flush',fenderLayer[bikeTypeValue]['LicensePlate']['Flush']);
		document.forms['custom_fender'].bikeTypePrice.value = price;
		UpdateCustomFenderTotal();
	}
}

function UpdateCustomFenderTypeE(price,bikeTypeValue){
	UpdateCustomFenderYears(bikeTypeValue);
	UpdateCustomFenderOption('fs-Stretched',fenderLayer[bikeTypeValue]['FenderStyle']['Stretched']);
	UpdateCustomFenderOption('fs-Short',fenderLayer[bikeTypeValue]['FenderStyle']['Short']);
	UpdateCustomFenderOption('lp-Smooth',fenderLayer[bikeTypeValue]['LicensePlate']['Smooth']);
	UpdateCustomFenderOption('lp-Recessed',fenderLayer[bikeTypeValue]['LicensePlate']['Recessed']);
	UpdateCustomFenderOption('lp-Flush',fenderLayer[bikeTypeValue]['LicensePlate']['Flush']);
	document.forms['custom_fender'].bikeTypePrice.value = price;
	UpdateCustomFenderTotal();
}

function UpdateCustomFender(price,elementID){
	document.getElementById(elementID+'Price').value = price;
	UpdateCustomFenderTotal();
}

function UpdateCustomFenderOption(inputID,value){
	if(value==true){
		document.getElementById(inputID).disabled = true;
		document.getElementById(inputID).checked = false;
		var label = getLabelFromInput(inputID);
		if(label){
			label.style.textDecoration='line-through';
		}
	}else{
		document.getElementById(inputID).disabled = false;
		var label = getLabelFromInput(inputID);
		if(label){
			label.style.textDecoration='none';
		}
	}
}

function getLabelFromInput(inputElem){
	//function created by Shawn Olson at http://www.shawnolson.net
	if(inputElem.parentNode){
		if(inputElem.parentNode.tagName=='label'){
			return inputElem.parentNode;
		}
	}
	var labels=document.getElementsByTagName("label"),i;
	for( i=0; i<labels.length;i++ ){
		if(typeof labels[i].childNodes[0] !== 'undefined'){
			if(labels[i].childNodes[0].id==inputElem){
				return labels[i];
			}
		}
	}
	return false;
}

function UpdateCustomFenderYears(bTV){
	for(var d = 0; d <= 3; d++) {
		var divMY = 'lblMY'+d;
		if(document.getElementById(divMY)){
			document.getElementById(divMY).innerHTML = '';
		}
	}
	
	var numYears = fenderLayer[bTV]['Years'].length;
	for(var y = 0; y <= numYears; y++) {
		if(fenderLayer[bTV]['Years'][y]){
			var divMY = 'lblMY'+y;
			var objYearChoice = newElement("input",{type:"radio",name:"modelYear",id:'my-'+y,value:fenderLayer[bTV]['Years'][y]});
			document.getElementById(divMY).appendChild(objYearChoice);
			document.getElementById(divMY).innerHTML += fenderLayer[bTV]['Years'][y] + ' +$0';
		}
	}
}

function newElement(type,att,evts,appendToObj){
	var elem;
	if(isNameQuirk() && att.name != null){
		elem = document.createElement('<' + type + ' name="' + att.name + '">');
	}else{
		elem = document.createElement(type);
	}

	for(var prop in att){
		elem.setAttribute(prop,att[prop]);
	}

	if(evts){
		for(var evt in evts){
			elem[evt] = evts[evt];
		}
	}

	if(appendToObj){
		appendToObj.appendChild(elem);
	}

	return elem;
}

function isNameQuirk(){
	var elem1 = document.createElement("div");
	var elem2 = document.createElement("input");
	elem2.type = "hidden";
	elem2.name = "testName";
	elem1.appendChild(elem2);
	var isQuirk = (elem1.innerHTML.indexOf("test") == -1);
	isNameQuirk = function() {return isQuirk;}
	return isNameQuirk();
}

function print_r(obj,pre,child){
	if(pre === undefined){  pre   = false;}
	if(child === undefined){ child = 0;}

	var n  = "\n";
	var t  = "&nbsp;&nbsp;&nbsp;&nbsp;";
	var ts = "";

	if(pre){ for(var i = 0; i <= child; i++){ ts += t;}}

	if(obj.constructor == Array || obj.constructor == Object) {
		if(pre && child == 0)   {
			document.write('<pre>'+n);
			document.write('Array'+n);
			document.write('('+n);
		} else if(pre && child > 0) {
			document.write(ts+'('+n);
		} else {
			document.write('Array (');
		}

		for(var value in obj) {
			if(obj[value].constructor == Array || obj[value].constructor == Object) {
				var newChild = child + 1;

				if(pre && child == 0) {
					document.write(ts+'['+value+'] => Array'+n);
				} else if(pre && child > 0) {
					document.write(ts+t+'['+value+'] => Array'+n);
					newChild++;
				} else {
					document.write(" ["+value+"] => ");
				}
				print_r(obj[value],pre,newChild);
			} else {
				if(pre && child == 0) {
					document.write(t+'['+value+'] => '+obj[value]+n);
				} else if(pre && child > 0) {
					document.write(ts+t+'['+value+'] => '+obj[value]+n);
				} else {
					document.write(' ['+value+'] => '+obj[value]+' ');
				}
			}
		}

		if(pre && child == 0) {
			document.write(') ');
			document.write('</pre>');
		} else if(pre && child > 0) {
			document.write(ts+') '+n);
		} else {
			document.write(') ');
		}
	}
}

function UpdateCustomFenderTotal(){
	var totalPrice = 0;	
	bikeTypeValue = document.getElementById('bikeTypePrice').value;
	fenderStyleValue = document.getElementById('fenderStylePrice').value;
	licensePlateValue = document.getElementById('licensePlatePrice').value;
	modelYearValue = document.getElementById('modelYearPrice').value;
	brakeOptionsValue = document.getElementById('brakeOptionsPrice').value;
	turnSignalsValue = document.getElementById('turnSignalsPrice').value;
	pipeOptionsValue = document.getElementById('pipeOptionsPrice').value;
	totalPrice = (bikeTypeValue * 1) + (fenderStyleValue * 1) + (licensePlateValue * 1) + (modelYearValue * 1) + (brakeOptionsValue * 1) + (turnSignalsValue * 1) + (pipeOptionsValue * 1);
	document.getElementById('customFenderPrice').innerHTML = '$' + number_format(totalPrice) + '.00';

		if(turnSignalsValue > 0 || brakeOptionsValue > 0 || licensePlateValue > 0){var discount=.2;var pdisc=20;}else{var discount=.27;var pdisc=27;}
		document.getElementById('dealerPercent').value = discount;
		
	if(document.getElementById('dealer').value == 1 || document.getElementById('dealer').value == 2){
		document.getElementById('customFenderDealer1Price').innerHTML = 'Tier 1 Dealer Price: $' + number_format(totalPrice*.9) + '.00 , 10% off!';
		document.getElementById('customFenderDealer2Price').innerHTML = 'Tier 2 Dealer Price: $' + number_format(totalPrice*(1-discount)) + '.00 , ' + pdisc + '% off!';
	}

	
}

function getValue(num){
	var noJunk = ""
	var withDollar = ""
	var foundDecimal = 0
	var foundAlphaChar = 0
	num += "";

	if (num == "") { return(0); }
	for (i=0; i <= num.length; i++){
		var thisChar = num.substring(i, i+1);
		if (thisChar == "."){
			foundDecimal = 1;
			noJunk = noJunk + thisChar;
		}
		if ((thisChar < "0") || (thisChar > "9")){
			if ((thisChar != "$") && (thisChar !=".") && (thisChar != ",") && (thisChar != " ") && (thisChar !="")) foundAlphaChar = 1;
		}else{
			withDollar = withDollar + thisChar
			noJunk = noJunk + thisChar
		}

		if ((thisChar == "$") || (thisChar == ".") || (thisChar == ",")){
			withDollar = withDollar + thisChar
		}
	}
	if (foundDecimal) {
		return parseFloat(noJunk);
	}else if (noJunk.length > 0) {
		return parseFloat(noJunk);
	}else{
		return 0;
	}
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function SubmitCustomFender(){
	var e=0;
	var btn = getCheckedValue(document.forms['custom_fender'].bikeType);if (btn == null){document.getElementById('bikeTypeError').innerHTML = "*";e++;}else{document.getElementById('bikeTypeError').innerHTML = "";var btn = getCheckedValue(document.forms['custom_fender'].modelYear);if (btn == null){document.getElementById('modelYearError').innerHTML = "*";e++;}else{document.getElementById('modelYearError').innerHTML = "";}}
	var btn = getCheckedValue(document.forms['custom_fender'].fenderStyle);if (btn == null){document.getElementById('fenderStyleError').innerHTML = "*";e++;}else{document.getElementById('fenderStyleError').innerHTML = "";}
	var btn = getCheckedValue(document.forms['custom_fender'].licensePlate);if (btn == null){document.getElementById('licensePlateError').innerHTML = "*";e++;}else{document.getElementById('licensePlateError').innerHTML = "";}
	var btn = getCheckedValue(document.forms['custom_fender'].brakeOptions);if (btn == null){document.getElementById('brakeOptionsError').innerHTML = "*";e++;}else{document.getElementById('brakeOptionsError').innerHTML = "";}
	var btn = getCheckedValue(document.forms['custom_fender'].turnSignals);if (btn == null){document.getElementById('turnSignalsError').innerHTML = "*";e++;}else{document.getElementById('turnSignalsError').innerHTML = "";}
	var btn = getCheckedValue(document.forms['custom_fender'].pipeOptions);if (btn == null){document.getElementById('pipeOptionsError').innerHTML = "*";e++;}else{document.getElementById('pipeOptionsError').innerHTML = "";}
	
	if(e == 0){document.forms['custom_fender'].submit();}else{document.getElementById('eMessage').innerHTML = '<br/>' + e + ' error(s) found. All Fields Required!'}
}