// JavaScript Document

//<!-- ################################################## -->
//<!--               Woofer BoxAdvisor(TM) 2009           -->
//<!--                Designed and Written by             -->
//<!--     Eric W. Russell (russeler@rockfordcorp.com)    -->
//<!--                                                    -->
//<!--        This application is NOT freeware NOR        -->
//<!--       is it "open-source".  Any reproduction       -->
//<!--       or usage of this DESIGN and CODE not to      -->
//<!--      be used without explicit written approval.    -->
//<!-- ################################################## -->


// #################################################################### //
//					DEALER LOGIN & DEALER LOGOUT						//
//			SUBMITS FORM FOR DEALERS TO UNLOCK ADVANCED GRAPHING		//
// #################################################################### //	
	function dealerLogin() {
		//submit form only if username/password have values.
		var selUser = document.getElementById('p_username');
		var selPass = document.getElementById('p_password');		
		if (selUser.value != "" && selPass.value != "") {
			document.form7.submit();
		}
	}

	function dealerLogout() {
			document.form7.submit();
	}
	

// ############################################################## //
// 							STEP #1            					  //
// SELECT WOOFER STATUS - SELECT WOOFER SERIES - TURN ON STEP #2 //
// ############################################################# //	
var ajax1 = new sack();	// initialize AJAX kit.	
function getSeries(val) {
	
	// loop through "Select Models" radio button to find selected value.
	for (var i=0; i < document.form1.p_status.length; i++) {
		if (document.form1.p_status[i].checked) {
		var selStatus = document.form1.p_status[i].value;
		}
	}
	//alert(selStatus);

	// check to make sure radio button is selected - if so - then call AJAX.
	if(selStatus != -1) {
		//alert("status is -1");
		
		document.getElementById('p_series_id').options.length = 0;	// empty 'Woofer Series' select box.
		ajax1.requestFile = 'box_advisor_getSeries.asp?p_status=' + selStatus;	// specify which woofers to get.
		ajax1.onCompletion = function() { createItems1() };	// specify function to be executed after query is run.		
		ajax1.runAJAX();		// execute AJAX function.
		//alert("running ajax");

		// Populate 'Woofer Series' selelct box.
		function createItems1() {
			var obj = document.getElementById('p_series_id');
			eval(ajax1.response);	// Executing response from Ajax as JavaScript code.
			
			// Change color of 'Woofer Series' select box to indicate current/discontinued status.
			if(selStatus == "current") {
			  //obj.style.color = '#009900';     //Green
				obj.style.color = '#000000';     //Black	
			} else if(selStatus == "discontinued") {
				obj.style.color = '#CC0000';     //Red			
			}
		}
	
		// Turn-on Step #2 icon.
		if(val == "current") {
			document.getElementById("step2Img").src = "assets/step_2_o.jpg";
			//alert("current");
		} else if(val == "discontinued") {	
			document.getElementById("step2Img").src = "assets/step_2_o.jpg";
			//alert("discontinued")	;	
		}

		// Enable Step #2 radio buttons.
		for (var j=0; j < document.form1.p_units.length; j++) {
			document.form1.p_units[j].disabled = false;
			//alert("enabling step 2");
		}
		
	}
	
}


// #################################################################### //
//								STEP #2									//
// 		SELECT UNIT OF MEASURE (STANDARD/METRIC) - TURN ON STEP #3		//
// #################################################################### //
// ********* add conditions when changing UOM after already making a woofer selection **************
function showUnits(val) {
	
	if(val == "standard") {
		document.getElementById("step3Img").src = "assets/step_3_o.jpg";
		document.getElementById("p_series_id").disabled = false;
		document.getElementById("p_item_id").disabled = false;			
	} else if(val == "metric") {
		document.getElementById("step3Img").src = "assets/step_3_o.jpg";
		document.getElementById("p_series_id").disabled = false;
		document.getElementById("p_item_id").disabled = false;		
	}
	//alert(val)
}


// #################################################################### //
//								STEP #3									//
// 						   SELECT WOOFER MODEL							// 
//				TURN ON STEP #4 (if dealer mode logged in) 				//
// #################################################################### //
var ajax2 = new sack();	// initialize AJAX kit.
function getModels(sel) {
	// loop through "Select Models" radio button to find selected value.
	for (var k=0; k < document.form1.p_status.length; k++) {
		if (document.form1.p_status[k].checked) {
		var selStatus2 = document.form1.p_status[k].value;
		}
	}
	
	var category = sel.options[sel.selectedIndex].value;
	document.getElementById('p_item_id').options.length = 0;	// Empty city select box
	if(category.length>0){		
		ajax2.requestFile = 'box_advisor_getModels.asp?p_status=' + selStatus2 + '&p_series_id=' + category;	// Specifying which file to get
		ajax2.onCompletion = function(){ createSubCategories() };	// Specify function that will be executed after file has been found
		ajax2.runAJAX();		// Execute AJAX function
	}

function createSubCategories() {
	var obj = document.getElementById('p_item_id');
	eval(ajax2.response);	// Executing the response from Ajax as Javascript code	

		// Change color of 'Woofer Series' select box to indicate current/discontinued status.
		if(selStatus2 == "current") {
		  //obj.style.color = '#009900';     //Green
			obj.style.color = '#000000';     //Black			
		} else if(selStatus2 == "discontinued") {
			obj.style.color = '#CC0000';     //Red			
		}
	}	
	
}

function checkStep4() {
	document.getElementById("step4Img").src = "assets/step_4_o.jpg";
	// Enable Step #4 radio buttons.
	for (var j=0; j < document.form1.p_vehicle_mode.length; j++) {
		document.form1.p_vehicle_mode[j].disabled = false;
		//alert("enabling step 4");
	}

	// If form already submitted and switching to another woofer via Step #3 - then confirm Step #4 configuration.
	var msgVehicleYear = document.getElementById('p_vehicle_year2').value;
	var msgVehicleMake = document.getElementById('p_vehicle_make2').value;
	var msgVehicleModel = document.getElementById('p_vehicle_model2').value;
	var msgVehicleFc = document.getElementById('p_vehicle_fc2').value;
	var msgVehicleQc = document.getElementById('p_vehicle_qc2').value;
	
	if (msgVehicleYear != 0 && msgVehicleMake != 0 && msgVehicleModel != 0) {
		displayMessage('box_advisor_modal.asp?p_vehicle_mode=listed&p_vehicle_year=' + msgVehicleYear + '&p_vehicle_make=' + msgVehicleMake + '&p_vehicle_model=' + msgVehicleModel + '',460,320);return false;
	} else if (msgVehicleFc != 0 && msgVehicleQc != 0) {
		displayMessage('box_advisor_modal.asp?p_vehicle_mode=unlisted&p_vehicle_fc=' + msgVehicleFc + '&p_vehicle_qc=' + msgVehicleQc + '',520,505);return false;
	}
	
}


// #################################################################### //
//								STEP #4 (A)								//
// 					SELECT VEHICLE MAKE/MODEL/YEAR  					//
// #################################################################### //
// AJAX to populate '<Select Year>' and ''<Select Make>' vehicle select menus.
//getVehicles('year'); getVehicles('make'); getVehicles('model');
var ajax2A = new sack();	// initialize AJAX kit.
var ajax2B = new sack();	// initialize AJAX kit.
function getVehicles(mode) {

	var selYearObj = document.getElementById('p_vehicle_year');
	var selYearIndex = selYearObj.selectedIndex;
	var selVehicleYear = selYearObj.options[selYearIndex].value
	//alert(selYearIndex)
	
	var selMakeObj = document.getElementById('p_vehicle_make');
	var selMakeIndex = selMakeObj.selectedIndex;
	var selVehicleMake = selMakeObj.options[selMakeIndex].value
	//alert(selMakeIndex)

	var selModelObj = document.getElementById('p_vehicle_model');
	var selModelIndex = selModelObj.selectedIndex;
	var selVehicleModel = selModelObj.options[selModelIndex].value
	//alert(selModelIndex)	
				
	if (mode == "year") {
		if (selYearIndex != 0) {
		document.getElementById('p_vehicle_make').options.length = 0;	// empty select box.
		ajax2A.requestFile = 'box_advisor_getVehicles.asp?p_vehicle_year=' + selVehicleYear;	// specify which woofers to get.
		ajax2A.onCompletion = function() { createItems1A() };	// specify function to be executed after query is run.		
		ajax2A.runAJAX();		// execute AJAX function.
		//update text field Step #4 so we can use this value for AJAX updates.
		document.getElementById('p_vehicle_year2').value = document.getElementById('p_vehicle_year').value
		//alert(document.getElementById('p_vehicle_year').value)
		}
	} else if (mode == "make") {
		if (selMakeIndex != 0) {	
		document.getElementById('p_vehicle_model').options.length = 0;	// empty select box.
		ajax2A.requestFile = 'box_advisor_getVehicles.asp?p_vehicle_year=' + selVehicleYear + '&p_vehicle_make=' + selVehicleMake + '&p_vehicle_model=' + selVehicleModel;	// specify which woofers to get.
		ajax2A.onCompletion = function() { createItems1B() };	// specify function to be executed after query is run.		
		ajax2A.runAJAX();		// execute AJAX function.
		//update text field Step #4 so we can use this value for AJAX updates.
		document.getElementById('p_vehicle_make2').value = document.getElementById('p_vehicle_make').value		
		//alert(document.getElementById('p_vehicle_make').value)<br>
		}		
	} else if (mode == "model") {
		if (selModelIndex != 0) {	
		//turn-on Step #5 icon & enable submit button.
		//if(selYearIndex != 0 && selMakeIndex != 0) {
		//document.getElementById("step5Img").src = "assets/step_5_o.jpg";
		//document.getElementById("p_submit_vehicle").disabled = false;
		//update text field Step #4 so we can use this value for AJAX updates.
		document.getElementById('p_vehicle_model2').value = document.getElementById('p_vehicle_model').value								
		//alert(document.getElementById('p_vehicle_model').value)	

		//Modal Window specific.
		ajax2B.requestFile = 'box_advisor_getModal.asp?p_vehicle_year=' + selVehicleYear + '&p_vehicle_make=' + selVehicleMake + '&p_vehicle_model=' + selVehicleModel;	// specify which cabin gain chart to get.
		ajax2B.onCompletion = function() { createItems1C() };	// specify function to be executed after query is run.
		ajax2B.runAJAX();
		}
	}

	// Populate '<Select Year>' menu.
	function createItems1A() {
		var obj = document.getElementById('p_vehicle_make');
		eval(ajax2A.response);	// Executing response from Ajax as JavaScript code.
	}
	
	// Populate '<Select Make>' menu.		
	function createItems1B() {
		var obj = document.getElementById('p_vehicle_model');
		eval(ajax2A.response);	// Executing response from Ajax as JavaScript code.
	}

	// Update Modal window's AnyChart flash chart with new XML data
	function createItems1C() {
		chart22.setData(ajax2B.response)
	}								

}

// JavaScript for Modal Window 'Pre-Defined Vehicle" -> "Manually Configure' href link 
function changeStep4() {
	// check "p_vehicle.unlisted' radio button.
	document.form1.p_vehicle_mode[1].checked = true;
}	


// #################################################################### //
//							 STEP #4 (B)								//
//						 MODAL WINDOW SCRIPT 							//
// #################################################################### //	 
function submitVehicle(mode) {
	// required - loop through "Select Models" radio button to find selected value.
	for (var l=0; l < document.form1.p_status.length; l++) {
		if (document.form1.p_status[l].checked) {
		var selStatus = document.form1.p_status[l].value;
		}
	}
	// required - loop through "Unit of Measure" radio button to find selected value.
	for (var m=0; m < document.form1.p_units.length; m++) {
		if (document.form1.p_units[m].checked) {
		var selUnits = document.form1.p_units[m].value;
		}
	}
	// required - get remaining form variables.		
	selSeriesID = document.getElementById('p_series_id').value;
	selItemID = document.getElementById('p_item_id').value;
		
		// modal window using step #4 'Pre-Defined Vehicle' option.
		if (mode == 'listed') {				
		selVehicleYear = document.getElementById('p_vehicle_year').value;
		selVehicleMake = document.getElementById('p_vehicle_make').value;
		selVehicleModel = document.getElementById('p_vehicle_model').value;
			// check if vehicle year/make/model options were configured.
			if (selVehicleYear != "" && selVehicleMake != "" && selVehicleModel != "")  {
				document.location.href = 'box_advisor.asp?p_status=' + selStatus + '&p_units=' + selUnits + '&p_series_id=' + selSeriesID + '&p_item_id=' + selItemID + '&p_vehicle_mode=listed&p_vehicle_year=' + selVehicleYear + '&p_vehicle_make=' + selVehicleMake + '&p_vehicle_model=' + selVehicleModel;
			} else {
				// Clicked on "Cancel" - show warning msg & select first drop down menu.
				alert('You must select a Vehicle Year/Make/Model.');
				document.getElementById('p_vehicle_year').focus();
			}	
		// modal window using step #4 'Manually Configure' option.				
		} else if (mode == 'unlisted') {
		selVehicleFc = document.getElementById('p_vehicle_fc').value;
		selVehicleQc = document.getElementById('p_vehicle_qc').value;
			// check if swf sliders were configured - they default to zero (0) 
			if (selVehicleFc != 0 && selVehicleQc != 0) {			
				document.location.href = 'box_advisor.asp?p_status=' + selStatus + '&p_units=' + selUnits + '&p_series_id=' + selSeriesID + '&p_item_id=' + selItemID + '&p_vehicle_mode=unlisted&p_vehicle_fc=' + selVehicleFc + '&p_vehicle_qc=' + selVehicleQc;
			} else {
				// Clicked on "Cancel" - show warning msg.
				alert('Move red pointers to select Vehicle Size & Air Leaks.');
			}			
		}
}

function closeMessage(){
	messageObj.close();	
}


// #################################################################### //
//							SUBMIT FORM									//
//			SUBMITS FORM AFTER INITIAL CAT/MODEL SELECTION.				//
// #################################################################### //	
	function submitForm1(val) {
		//submit form only if 'Woofer Model' is set to a value - and not defaulted to <Select Model>.
		var selObj = document.getElementById('p_item_id');
		var selIndex = selObj.selectedIndex;
		if (selIndex != 0)  {		
			document.form1.submit();
		}
	}
	

// #################################################################### //
//			WOOFER SPEC RESULTS (SPECIFICATIONS)						//
//			1. TOGGLE IMAGE FOR "VIEW SPECIFICATIONS FOR THIS MODEL"	//
//			2. SHOW & HIDE SPECS TABLE (DIV)							//
// #################################################################### //	
	var state0;
	function toggleSpecIcon() {
		if (state0) {
			theImg=document.getElementById("icon0");
			theImg.setAttribute("src","box_advisor/btn_ViewSpecifications.gif");
			state0 = false;
		} else {
			theImg=document.getElementById("icon0");
			theImg.setAttribute("src","box_advisor/btn_ViewSpecifications_o.gif");
			state0 = true;
		}
	}

	/***********************************************
	* Animated Collapsible DIV v2.0- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
	* This notice MUST stay intact for legal use
	* Visit Dynamic Drive at http://www.dynamicdrive.com/ for this script and 100s more
	* http://www.dynamicdrive.com/dynamicindex17/animatedcollapse.htm
	***********************************************/
	animatedcollapse.addDiv('Layer0', 'fade=1,speed=1000,hide=1')
	animatedcollapse.init()


// #################################################################### //
//						SEALED RESULTS (GRAPHS)							//
//		AUTOMATICALLY LOAD CHART XML WHEN SUBWOOFER MODEL SELECTED		//
// #################################################################### //	
var ajax3 = new sack();

function sLoading1(){
	var s = document.getElementById('sReplaceme').style;	
	s.display = "block";
}

function sInteractive1(){
	var s = document.getElementById('sReplaceme').style;
	s.display = "block";
}

function sLoaded1(){
	var s = document.getElementById('sReplaceme').style;
	s.display = "block";
}

function sCompleted1(){
	// DEBUG FUNCTION //
	var s = document.getElementById('sReplaceme').style;	
	var d = document.getElementById('sSackdata');
	if (ajax3.responseStatus){
		var string = "<p>Status Code: " + ajax3.responseStatus[0] + "</p><p>Status Message: " + ajax3.responseStatus[1] + "</p><p>URLString Sent: " + ajax3.URLString + "</p>";
	} else {
		var string = "<p>URLString Sent: " + ajax3.URLString + "</p>";
	}
	d.innerHTML = string;
	s.display = "none";	
	
	// Update "Sealed Dashboard" with new XML data
//	chart3.setData(ajax3.response)
	chart4.setData(ajax3.response)
}

// SEND AJAX DATA //
function getXMLData1(){
	var form = document.getElementById('form1');
	ajax3.setVar("locale", form.locale.value);
	ajax3.setVar("p_item_id", form.p_item_id.value);
	ajax3.setVar("p_vehicle_year", form.p_vehicle_year2.value);		//vehicle data (1999)
	ajax3.setVar("p_vehicle_make", form.p_vehicle_make2.value);		//vehicle data (80) Toyota
	ajax3.setVar("p_vehicle_model",form.p_vehicle_model2.value);	//vehicle data (747) 4-Runner
	ajax3.setVar("p_vehicle_fc", form.p_vehicle_fc2.value);			//vehicle data (70) Hz
	ajax3.setVar("p_vehicle_qc", form.p_vehicle_qc2.value);			//vehicle data (0.707) Q				
	ajax3.requestFile = "box_advisor_getSealed.asp";
	ajax3.method = "GET";
//	ajax3.element = 'replaceme';
	ajax3.onLoading = sLoading1;
	ajax3.onLoaded = sLoaded1; 
	ajax3.onInteractive = sInteractive1;
	ajax3.onCompletion = sCompleted1;	// DEBUG
	ajax3.runAJAX();	
}


// #################################################################### //
//						SEALED UPDATE (GRAPHS)							//
// This utilizes the new SACK (ajax3) variable defined above. We borrow //
//   the "locale" and "p_item_id" params, the add new params from the 	//
//  "Customize Design" form fields and quickly update graphs via AJAX.	//
// #################################################################### //
function updateSealedBox() {

  //loop through "Customize Design Vb/Qtc Mode" radio button to find selected value.
  //for (var l=0; l < document.form2.p_sealed_mode.length; l++) {
  //	if (document.form2.p_sealed_mode[l].checked) {
  //	var selSealedMode = document.form2.p_sealed_mode[l].value;
  //	}
  //}
  //ajax3.setVar('p_sealed_mode', selSealedMode);
	
	var form2 = document.getElementById('form2');
  //ajax3.setVar("locale", form2.locale2.value);
  //ajax3.setVar("p_item_id", form2.p_item_id2.value);		
	ajax3.setVar("p_sealed_vb", form2.p_sealed_vb2.value);
	ajax3.setVar('p_sealed_pn', form2.p_sealed_pn2.value);
  //ajax3.setVar('p_sealed_qtc', form2.p_sealed_qtc.value);					
  //ajax3.setVar('p_sealed_rs', form2.p_sealed_rs.value);							
	ajax3.setVar('p_sealed_qa', form2.p_sealed_qa.value);
	ajax3.setVar('p_sealed_ql', form2.p_sealed_ql.value);
	ajax3.setVar('p_sealed_t', form2.p_sealed_t.value);
	ajax3.setVar('p_sealed_p', form2.p_sealed_p.value);		
	ajax3.runAJAX();	// execute AJAX function.
}


// #################################################################### //
//						SEALED RECOMMENDED (BOX)						//
// 		GETS RECOMMENDED BOX DESIGN WITH OPTION TO CHANGE WOOFER QTY	//
// #################################################################### //
var ajax4 = new sack();

function sWhenLoading2(){
	var e = document.getElementById('sRecBoxDiv');
	e.innerHTML = "<div align='center' style='font-weight:bold; font-size:12px; color:#009900; width:680px; height:346px;'><br clear='all' />" +
				     "<div style='text-align:center; padding-bottom:10px;'><img src='../images/ajax_loading.gif' width='32' height='32' align='center' /></div>" +
				     "<div style='text-align:center;'>Sending Data...</div>" + 
				   "</div>";	
}

function sWhenLoaded2(){
	var e = document.getElementById('sRecBoxDiv');
	e.innerHTML = "<div align='center' style='font-weight:bold; font-size:12px; color:#009900; width:680px; height:346px;'><br clear='all' />" +
				     "<div style='text-align:center; padding-bottom:10px;'><img src='../images/ajax_loading.gif' width='32' height='32' align='center' /></div>" +
				     "<div style='text-align:center;'>Data Sent...</div>" + 
				   "</div>";
}

function sWhenInteractive2(){
	var e = document.getElementById('sRecBoxDiv');
	e.innerHTML = "<div align='center' style='font-weight:bold; font-size:12px; color:#009900; width:680px; height:346px;'><br clear='all' />" +
				     "<div style='text-align:center; padding-bottom:10px;'><img src='../images/ajax_loading.gif' width='32' height='32' align='center' /></div>" +
				     "<div style='text-align:center;'>Getting Data...</div>" + 
				   "</div>";
}

// DEBUG FUNCTION //
function sWhenCompleted2(){
	var e = document.getElementById('sRecBoxDebug');
	if (ajax4.responseStatus){
		var string = "<p>Status Code: " + ajax4.responseStatus[0] + "</p><p>Status Message: " + ajax4.responseStatus[1] + "</p><p>URLString Sent: " + ajax4.URLString + "</p>";
	} else {
		var string = "<p>URLString Sent: " + ajax4.URLString + "</p>";
	}
	e.innerHTML = string;
}	

// SEND AJAX DATA //
function getSealedBox(autoQty){

	var form = document.getElementById('form3');		
	var menuQty = document.getElementById('s_woof_qty_id').selectedIndex;
		
	//get more box options only if Woofer Qty select menu is set to a value - and not defaulted to <Select Woofer Qty>
	if (menuQty != 0)  {
		ajax4.setVar("p_item_id", form.s_item_id.value);
		ajax4.setVar("p_units", form.s_units.value);		
		ajax4.setVar("p_woof_qty_id", form.s_woof_qty_id.value);					
		ajax4.setVar("p_box_type", form.s_box_type.value);		
		ajax4.requestFile = "box_advisor_getBoxes.asp";
		ajax4.method = "GET";
		ajax4.element = 'sRecBoxDiv';
		ajax4.onLoading = sWhenLoading2;
		ajax4.onLoaded = sWhenLoaded2; 
		ajax4.onInteractive = sWhenInteractive2;
		ajax4.onCompletion = sWhenCompleted2;	// DEBUG
		ajax4.runAJAX();
	}
}	


// #################################################################### //
//						VENTED RESULTS (GRAPHS)							//
//		AUTOMATICALLY LOAD CHART XML WHEN SUBWOOFER MODEL SELECTED		//
// #################################################################### //	
var ajax5 = new sack();

function vLoading1(){
	var v = document.getElementById('vReplaceme').style;	
	v.display = "block";
}

function vInteractive1(){
	var v = document.getElementById('vReplaceme').style;
	v.display = "block";
}

function vLoaded1(){
	var v = document.getElementById('vReplaceme').style;
	v.display = "block";
}

function vCompleted1(){
	// DEBUG FUNCTION //
	var v = document.getElementById('vReplaceme').style;	
	var d = document.getElementById('vSackdata');
	if (ajax5.responseStatus){
		var string = "<p>Status Code: " + ajax5.responseStatus[0] + "</p><p>Status Message: " + ajax5.responseStatus[1] + "</p><p>URLString Sent: " + ajax5.URLString + "</p>";
	} else {
		var string = "<p>URLString Sent: " + ajax5.URLString + "</p>";
	}
	d.innerHTML = string;
	v.display = "none";	
	
	// Update "Vented Dashboard Graphs" with new XML data
	chart6.setData(ajax5.response)
}

// SEND AJAX DATA //
function getXMLData2(){
	var form = document.getElementById('form1');
	ajax5.setVar("locale", form.locale.value);
	ajax5.setVar("p_item_id", form.p_item_id.value);
	ajax5.setVar("p_vehicle_year", form.p_vehicle_year2.value);		//vehicle data
	ajax5.setVar("p_vehicle_make", form.p_vehicle_make2.value);		//vehicle data
	ajax5.setVar("p_vehicle_model",form.p_vehicle_model2.value);	//vehicle data
	ajax5.setVar("p_vehicle_fc", form.p_vehicle_fc2.value);			//vehicle data
	ajax5.setVar("p_vehicle_qc", form.p_vehicle_qc2.value);			//vehicle data
	ajax5.requestFile = "box_advisor_getVented.asp";
	ajax5.method = "GET";
//	ajax5.element = 'replaceme';
	ajax5.onLoading = vLoading1;
	ajax5.onLoaded = vLoaded1; 
	ajax5.onInteractive = vInteractive1;
	ajax5.onCompletion = vCompleted1	// DEBUG
	ajax5.runAJAX();	
}


// #################################################################### //
//						VENTED UPDATE (GRAPHS)							//
// This utilizes the new SACK (ajax3) variable defined above. We borrow //
//   the "locale" and "p_item_id" params, the add new params from the 	//
//  "Customize Design" form fields and quickly update graphs via AJAX.	//
// #################################################################### //
function updateVentedBox() {

  //loop through "Customize Design Vb/Qtc Mode" radio button to find selected value.
  //for (var l=0; l < document.form4.p_vented_mode.length; l++) {
  //	if (document.form4.p_vented_mode[l].checked) {
  //	var selVentedMode = document.form4.p_vented_mode[l].value;
  //	}
  //}
  //ajax5.setVar('p_vented_mode', selVentedMode);
	
	var form4 = document.getElementById('form4');
	ajax5.method = "GET";	
  //ajax5.setVar("locale", form4.locale2.value);
  //ajax5.setVar("p_item_id", form4.p_item_id2.value);		
	ajax5.setVar("p_vented_vb", form4.p_vented_vb2.value);
	ajax5.setVar('p_vented_pn', form4.p_vented_pn2.value);
	ajax5.setVar('p_vented_fb', form4.p_vented_fb.value);
  //ajax5.setVar('p_vented_rs', form4.p_vented_rs.value);	
	ajax5.setVar('p_vented_qa', form4.p_vented_qa.value);
	ajax5.setVar('p_vented_ql', form4.p_vented_ql.value);
	ajax5.setVar('p_vented_qp', form4.p_vented_qp.value);	
	ajax5.setVar('p_vented_t', form4.p_vented_t.value);
	ajax5.setVar('p_vented_p', form4.p_vented_p.value);		
	ajax5.runAJAX();	// execute AJAX function.
}


// #################################################################### //
//						VENTED RECOMMENDED (BOX)						//
// 		GETS RECOMMENDED BOX DESIGN WITH OPTION TO CHANGE WOOFER QTY	//
// #################################################################### //
var ajax6 = new sack();

function vWhenLoading2(){
	var e = document.getElementById('vRecBoxDiv');
	e.innerHTML = "<div align='center' style='font-weight:bold; font-size:12px; color:#009900; width:680px; height:360px;'><br clear='all' />" +
				     "<div style='text-align:center; padding-bottom:10px;'><img src='../images/ajax_loading.gif' width='32' height='32' align='center' /></div>" +
				     "<div style='text-align:center;'>Sending Data...</div>" + 
				   "</div>";	
}

function vWhenLoaded2(){
	var e = document.getElementById('vRecBoxDiv');
	e.innerHTML = "<div align='center' style='font-weight:bold; font-size:12px; color:#009900; width:680px; height:360px;'><br clear='all' />" +
				     "<div style='text-align:center; padding-bottom:10px;'><img src='../images/ajax_loading.gif' width='32' height='32' align='center' /></div>" +
				     "<div style='text-align:center;'>Data Sent...</div>" + 
				   "</div>";
}

function vWhenInteractive2(){
	var e = document.getElementById('vRecBoxDiv');
	e.innerHTML = "<div align='center' style='font-weight:bold; font-size:12px; color:#009900; width:680px; height:360px;'><br clear='all' />" +
				     "<div style='text-align:center; padding-bottom:10px;'><img src='../images/ajax_loading.gif' width='32' height='32' align='center' /></div>" +
				     "<div style='text-align:center;'>Getting Data...</div>" + 
				   "</div>";
}

// DEBUG FUNCTION //
function vWhenCompleted2(){
	var e = document.getElementById('vRecBoxDebug');
	if (ajax6.responseStatus){
		var string = "<p>Status Code: " + ajax6.responseStatus[0] + "</p><p>Status Message: " + ajax6.responseStatus[1] + "</p><p>URLString Sent: " + ajax6.URLString + "</p>";
	} else {
		var string = "<p>URLString Sent: " + ajax6.URLString + "</p>";
	}
	e.innerHTML = string;
}	

// SEND AJAX DATA //
function getVentedBox(autoQty){

	var form = document.getElementById('form5');		
	var menuQty = document.getElementById('v_woof_qty_id').selectedIndex;
		
	//get more box options only if Woofer Qty select menu is set to a value - and not defaulted to <Select Woofer Qty>
	if (menuQty != 0)  {
		ajax6.setVar("p_item_id", form.v_item_id.value);
		ajax6.setVar("p_units", form.v_units.value);		
		ajax6.setVar("p_woof_qty_id", form.v_woof_qty_id.value);					
		ajax6.setVar("p_box_type", form.v_box_type.value);		
		ajax6.requestFile = "box_advisor_getBoxes.asp";
		ajax6.method = "GET";
		ajax6.element = 'vRecBoxDiv';
		ajax6.onLoading = vWhenLoading2;
		ajax6.onLoaded = vWhenLoaded2; 
		ajax6.onInteractive = vWhenInteractive2;
		ajax6.onCompletion = vWhenCompleted2;	// DEBUG
		ajax6.runAJAX();
	}
}



// #################################################################### //
//					INFINITE BAFFLE RECOMMENDED (BOX)					//
// 			GETS RECOMMENDED DESIGN WITH OPTION TO CHANGE WOOFER QTY	//
// #################################################################### //
var ajax7 = new sack();

function ibWhenLoading2(){
	var e = document.getElementById('ibRecBoxDiv');
	e.innerHTML = "<div align='center' style='font-weight:bold; font-size:12px; color:#009900; width:680px; height:360px;'><br clear='all' />" +
				     "<div style='text-align:center; padding-bottom:10px;'><img src='../images/ajax_loading.gif' width='32' height='32' align='center' /></div>" +
				     "<div style='text-align:center;'>Sending Data...</div>" + 
				   "</div>";	
}

function ibWhenLoaded2(){
	var e = document.getElementById('ibRecBoxDiv');
	e.innerHTML = "<div align='center' style='font-weight:bold; font-size:12px; color:#009900; width:680px; height:360px;'><br clear='all' />" +
				     "<div style='text-align:center; padding-bottom:10px;'><img src='../images/ajax_loading.gif' width='32' height='32' align='center' /></div>" +
				     "<div style='text-align:center;'>Data Sent...</div>" + 
				   "</div>";
}

function ibWhenInteractive2(){
	var e = document.getElementById('ibRecBoxDiv');
	e.innerHTML = "<div align='center' style='font-weight:bold; font-size:12px; color:#009900; width:680px; height:360px;'><br clear='all' />" +
				     "<div style='text-align:center; padding-bottom:10px;'><img src='../images/ajax_loading.gif' width='32' height='32' align='center' /></div>" +
				     "<div style='text-align:center;'>Getting Data...</div>" + 
				   "</div>";
}

// DEBUG FUNCTION //
function ibWhenCompleted2(){
	var e = document.getElementById('ibRecBoxDebug');
	if (ajax7.responseStatus){
		var string = "<p>Status Code: " + ajax7.responseStatus[0] + "</p><p>Status Message: " + ajax7.responseStatus[1] + "</p><p>URLString Sent: " + ajax7.URLString + "</p>";
	} else {
		var string = "<p>URLString Sent: " + ajax7.URLString + "</p>";
	}
	e.innerHTML = string;
}	

// SEND AJAX DATA //
function getInfiniteBaffleBox(autoQty){

	var form = document.getElementById('form6');		
	var menuQty = document.getElementById('ib_woof_qty_id').selectedIndex;
		
	//get more box options only if Woofer Qty select menu is set to a value - and not defaulted to <Select Woofer Qty>
	if (menuQty != 0)  {
		ajax7.setVar("p_item_id", form.ib_item_id.value);
		ajax7.setVar("p_units", form.ib_units.value);		
		ajax7.setVar("p_woof_qty_id", form.ib_woof_qty_id.value);					
		ajax7.setVar("p_box_type", form.ib_box_type.value);		
		ajax7.requestFile = "box_advisor_getBoxes.asp";
		ajax7.method = "GET";
		ajax7.element = 'ibRecBoxDiv';
		ajax7.onLoading = ibWhenLoading2;
		ajax7.onLoaded = ibWhenLoaded2; 
		ajax7.onInteractive = ibWhenInteractive2;
		ajax7.onCompletion = ibWhenCompleted2;	// DEBUG
		ajax7.runAJAX();
	}
}