        /* ------------------------------------------------- */
        /* toggle form is used on the long forms to show
           and hide based on checkboxes */
        /* ------------------------------------------------- */
	function toggleForm(base_name){
		var toggle = document.getElementById(base_name+'_toggle');	
		var area = document.getElementById(base_name+'_form');
		

		//alert(area.offsetHeight);
		if (toggle.checked == true) {
			area.style.display = "block";
			area.style.visibility = "visible";
			//area.style.height = "200px"
		} else {

			area.style.display = "none";
			area.style.visibility = "hidden";
			resetForm(base_name);
			}


		}




	/* ------------------------------------------------- */
	function updateFormSet(base_name, set) {

		frm = document.order;


                // loop through all drop downs matching this name and disable ones that are not active
                for(i=0; i < frm.elements.length; i++) {

                        // make sure this is a drop down
                        if (frm.elements[i].type == "select-one" && frm.elements[i].name.indexOf(base_name) > -1) {
				if ( frm.elements[i].name.substring(frm.elements[i].name.length-1) == set) {

    					frm.elements[i].disabled = false;

				} else {

					frm.elements[i].disabled = true;
					// do not reset dorpdowns - frm.elements[i].selectedIndex = 0;

					} 

				}

			}

                // leave prices so user can see them always to compare
		// clear out previous prices
		//i = 1;
		//while(document.getElementById(base_name+"_total_"+i)) {
		//	document.getElementById(base_name+"_total_"+i).innerHTML = "$0";
		//	i++;
		// 	}

		updatePrices(base_name, set);
		} // function





	/* ------------------------------------------------- */
	function updateDiscount (name, value, state) {


		updateGrandTotal();

		} // function




	/* ------------------------------------------------- */
	function updateSelected (name, position) {

		var x = document.getElementById(name);
	            x.value = position;
		} // function



	/* ------------------------------------------------- */
	function updatePrices (base_name, set) {

		frm = document.order;
		var total 	= 0;

		// loop through all drop downs matching this name and disable ones that are not active
                for(i=0; i<frm.elements.length; i++){


                        // make sure this is a drop down
			if (frm.elements[i].name.indexOf(base_name) > -1) {

				if (frm.elements[i].type == "radio" && frm.elements[i].checked == true) {
					total = parseInt(total) + parseInt(frm.elements[i].value);


				} else if (frm.elements[i].type == "select-one" 
                                        && frm.elements[i].value != 0
                                        && frm.elements[i].disabled != true){
					total = parseInt(total) + parseInt(frm.elements[i].value);
					}
				}

				
                        } // for
		document.getElementById(base_name+"_total_"+set).innerHTML = total?"$"+total:"$0";
		document.getElementById(base_name+"_total").value = total?total:0;
		updateGrandTotal();

                } // function


        /* ------------------------------------------------- */
        /* when a form is reset, by selecting radio option
           or changing a checkbox on the long forms, reset
           all the pricing information */
        /* ------------------------------------------------- */
        function resetForm (base_name) {
                frm = document.order;
		set = '';

                // loop through all drop downs matching this name and disable ones that are not active
                for(i=0; i<frm.elements.length; i++){

                        // make sure this is a drop down
                        if (frm.elements[i].name.indexOf(base_name) > -1) {
                                if (frm.elements[i].type == "radio") frm.elements[i].checked = false;

                                if (frm.elements[i].type == "select-one") {
					set = frm.elements[i].name.substring(frm.elements[i].name.length-1);
					// -- disabled for long forms
                                        // -- document.getElementById(base_name+"_total_"+set).innerHTML = "$0";
					frm.elements[i].disabled = true; 
					// -- disabled for long forms 
                                        // -- frm.elements[i].selectedIndex = 0; 
					}
                                }


                        } // for

		updateGrandTotal();	

                } // function



	/* ------------------------------------------------- */
	function updateGrandTotal() {
		var total = 0;
		var radiocount = 0;
		var radio_array = new Array();
		var discount = 0;

		for(i=0; i<frm.elements.length; i++){

                        // make sure this is a drop down
			if (frm.elements[i].type == "radio" && frm.elements[i].checked == true) {
                                if (!frm.elements[i].value) frm.elements[i].value = 0;
				total = parseInt(total) + parseInt(frm.elements[i].value);

				// this is done soley for the discount tracking done below
				// keep an array of selected radio names to comapre for page id below
				if (frm.elements[i].value != 0) {
					radio_array[radiocount] = frm.elements[i].name;
					radiocount++;
					}
 

			} else if (frm.elements[i].type == "select-one" 
                                && frm.elements[i].value != 0
                                && frm.elements[i].disabled != true){
				total = parseInt(total) + parseInt(frm.elements[i].value);
				}
			}

		// this is for tracking the discount on x selected items
		for(i=0; i<frm.elements.length; i++){

                        if (frm.elements[i].type == "checkbox" 
			    && frm.elements[i].checked == true
			    && frm.elements[i].name.indexOf("discount") > -1) {

				var nm = frm.elements[i].name+"total";

				// split the current discoutn field name to get the page id in element 2
				var fields = frm.elements[i].name.split("_");

				// loop through selected radios to see if we apply discount
				for (j=0; j<radio_array.length; j++) {
					if (radio_array[j].indexOf(fields[1]) > -1) discount += parseInt(frm.elements[i].value);
					}

				if (parseInt(discount) != 0) {	
					document.getElementById(nm).style.color = "#990000";
					document.getElementById(nm).innerHTML = discount?"$("+discount+")":"$0";
					}

			// if the checkbox is not selected reset discount to 0
			} else if (frm.elements[i].type == "checkbox"
                            && frm.elements[i].checked == false
                            && frm.elements[i].name.indexOf("discount") > -1) {
				var nm = frm.elements[i].name+"total";
                                document.getElementById(nm).innerHTML = "";
				}
			}

		document.getElementById("grand_total").innerHTML = total?"$"+parseInt(total+discount):"$0";

		}


/* ------------------------------------------------------ */
function getRadio(element) {

    for (var i=0; i < element.length; i++) {
		if(element[i].checked == true) {
            return element[i].value;
            }
	}

    return 0;
}
		
