
function getNumber() {
	// get form field values here
	var membershipType = document.getElementById("mbrshp_type").value;
	var membershipTerm = document.getElementById("mbrshp_term").value;
	var breederFee = document.getElementById("mbrshp_breeder").value;
	var studFee = document.getElementById("mbrshp_stud").value;

	// assemble form field values here
	var full_ItemNumber = "1000_" + membershipType + membershipTerm + breederFee + studFee;
	return full_ItemNumber;
}

function getTotal() {
	// get form field values here
	var membershipType = document.getElementById("mbrshp_type").value;
	var membershipTerm = document.getElementById("mbrshp_term").value;
	var breederFee = document.getElementById("mbrshp_breeder").value;
	var studFee = document.getElementById("mbrshp_stud").value;
	var processingFee = 1.00;

	if (membershipType == 0) {
		var membershipCost = 25.00;
		var processingFee = 1.00;
	}
	if (membershipType == 1) {
		var membershipCost = 35.00;
		var processingFee = 1.50;
	}
	
	if (breederFee == 1) {
		var breederCost = 50.00 * parseFloat(membershipTerm);
	} else {
		var breederCost = 0.00;
	}
	
	if (studFee == 1) {
		var studCost = 25.00 * parseFloat(membershipTerm);
	} else {
		var studCost = 0.00;
	}
	
	var full_total = (parseFloat(membershipCost) * parseFloat(membershipTerm)) + parseFloat(breederCost) + parseFloat(studCost) + (parseFloat(processingFee) * parseFloat(membershipTerm));
	return full_total.toFixed(2);
}

function getMembershipFee() {
	// get form field values here
	var membershipType = document.getElementById("mbrshp_type").value;
	var membershipTerm = document.getElementById("mbrshp_term").value;

	if (membershipType == 0) {
		var membershipCost = 25.00;
	}
	if (membershipType == 1) {
		var membershipCost = 35.00;
	}
	
	var fullMembershipFee = (parseFloat(membershipCost) * parseFloat(membershipTerm));
	return fullMembershipFee.toFixed(2);
}

function getBreederFee() {
	// get form field values here
	var membershipTerm = document.getElementById("mbrshp_term").value;
	var breederFee = document.getElementById("mbrshp_breeder").value;

	if (breederFee == 1) {
		var breederCost = 50.00;
	} else {
		var breederCost = 0.00;
	}
	
	var fullBreederFee = parseFloat(membershipTerm) * parseFloat(breederCost);
	return fullBreederFee.toFixed(2);
}

function getStudFee() {
	// get form field values here
	var membershipTerm = document.getElementById("mbrshp_term").value;
	var studFee = document.getElementById("mbrshp_stud").value;

	if (studFee == 1) {
		var studCost = 25.00;
	} else {
		var studCost = 0.00;
	}
	
	var fullStudFee = parseFloat(membershipTerm) * parseFloat(studCost);
	return fullStudFee.toFixed(2);
}

function getProcessingFee() {
	// get form field values here
	var membershipType = document.getElementById("mbrshp_type").value;
	var membershipTerm = document.getElementById("mbrshp_term").value;
	var processingFee = 1.00;

	if (membershipType == 0) {
		var membershipCost = 25.00;
		var processingFee = 1.00;
	}
	if (membershipType == 1) {
		var membershipCost = 35.00;
		var processingFee = 1.50;
	}
	
	var fullProcessingFee = parseFloat(membershipTerm) * parseFloat(processingFee);
	return fullProcessingFee.toFixed(2);
}


function updatePreview() {
	// add the numbers
	var full_total = getTotal();
	var item_number = getNumber();
	var fullMembershipFee = getMembershipFee();
	var fullBreederFee = getBreederFee();
	var fullStudFee = getStudFee();
	var fullProcessingFee = getProcessingFee();
	
	//<p id="fees_membership" class="previewRenewalItems"><span>&nbsp;</span></p>
	//<p id="fees_breeder" class="previewRenewalItems"><span>&nbsp;</span></p>
	//<p id="fees_stud" class="previewRenewalItems"><span>&nbsp;</span></p>
	//<p id="fees_processing" class="previewRenewalItems"><span>&nbsp;</span></p>

	// show grand total
	var pA_to_replace = document.getElementById("total_preview");
	var totalDiv = pA_to_replace.parentNode;
	totalPreview = document.createElement("p");
	totalPreview.setAttribute("class", "totalRenewal");
	totalPreview.setAttribute("id", "total_preview");
	var new_name = document.createTextNode("TOTAL: $" + full_total + " USD");
	totalPreview.appendChild(new_name);
	totalDiv.replaceChild(totalPreview, pA_to_replace);
	
	// show total membership fees
	var pB_to_replace = document.getElementById("fees_membership");
	var memberFeesDiv = pB_to_replace.parentNode;
	memberFeesPreview = document.createElement("p");
	memberFeesPreview.setAttribute("class", "previewRenewalItems");
	memberFeesPreview.setAttribute("id", "fees_membership");
	var new_memFee = document.createTextNode("membership fees: $" + fullMembershipFee + " USD");
	memberFeesPreview.appendChild(new_memFee);
	memberFeesDiv.replaceChild(memberFeesPreview, pB_to_replace);

	// show total breeder fees
	var pC_to_replace = document.getElementById("fees_breeder");
	var breederFeesDiv = pC_to_replace.parentNode;
	breederFeesPreview = document.createElement("p");
	breederFeesPreview.setAttribute("class", "previewRenewalItems");
	breederFeesPreview.setAttribute("id", "fees_breeder");
	var new_breFee = document.createTextNode("breeder fees: $" + fullBreederFee + " USD");
	breederFeesPreview.appendChild(new_breFee);
	breederFeesDiv.replaceChild(breederFeesPreview, pC_to_replace);

	// show total stud fees
	var pD_to_replace = document.getElementById("fees_stud");
	var studFeesDiv = pD_to_replace.parentNode;
	studFeesPreview = document.createElement("p");
	studFeesPreview.setAttribute("class", "previewRenewalItems");
	studFeesPreview.setAttribute("id", "fees_stud");
	var new_stuFee = document.createTextNode("stud fees: $" + fullStudFee + " USD");
	studFeesPreview.appendChild(new_stuFee);
	studFeesDiv.replaceChild(studFeesPreview, pD_to_replace);

	// show total processing fees
	var pE_to_replace = document.getElementById("fees_processing");
	var processingFeesDiv = pE_to_replace.parentNode;
	processingFeesPreview = document.createElement("p");
	processingFeesPreview.setAttribute("class", "previewRenewalItems");
	processingFeesPreview.setAttribute("id", "fees_processing");
	var new_proFee = document.createTextNode("processing fees: $" + fullProcessingFee + " USD");
	processingFeesPreview.appendChild(new_proFee);
	processingFeesDiv.replaceChild(processingFeesPreview, pE_to_replace);

	// update hidden form elements
	document.getElementById('amount').value = full_total;
	document.getElementById('item_number').value = item_number;
}

function updatePreviewIE(e) {
	var full_total = getTotal();
	var item_number = getNumber();
	var fullMembershipFee = getMembershipFee();
	var fullBreederFee = getBreederFee();
	var fullStudFee = getStudFee();
	var fullProcessingFee = getProcessingFee();

	var totalParagraph = document.getElementById('total_preview')
	totalParagraph.childNodes[0].lastChild.nodeValue = "TOTAL: $" + full_total + " USD";
	
	var membershipFeeParagraph = document.getElementById('fees_membership')
	membershipFeeParagraph.childNodes[0].lastChild.nodeValue = "membership fees: $" + fullMembershipFee + " USD";
	
	var breederFeeParagraph = document.getElementById('fees_breeder')
	breederFeeParagraph.childNodes[0].lastChild.nodeValue = "breeder fees: $" + fullBreederFee + " USD";
	
	var studFeeParagraph = document.getElementById('fees_stud')
	studFeeParagraph.childNodes[0].lastChild.nodeValue = "stud fees: $" + fullStudFee + " USD";
	
	var processingFeeParagraph = document.getElementById('fees_processing')
	processingFeeParagraph.childNodes[0].lastChild.nodeValue = "processing fee: $" + fullProcessingFee + " USD";
	
	// update hidden form elements
	document.getElementById('amount').value = full_total;
	document.getElementById('item_number').value = item_number;
}

var nameForm = document.getElementById("renewal_form");
var formSelects = nameForm.getElementsByTagName("select");
if (nameForm) {
	for (var y = 0; y < formSelects.length; y++) {
		if (formSelects[y].addEventListener) {
			formSelects[y].addEventListener("change", updatePreview, true);
		} else if (formSelects[y].attachEvent) {
			formSelects[y].attachEvent("onchange", updatePreviewIE);
		}
	}
}

if (window.addEventListener) {
	window.onload = updatePreview();
} else if (window.attachEvent) {
	window.onload = updatePreviewIE();
}
