/*
	NOTES
		FILES
			configurator/build/build_own.asp
			configurator/build/build_own_checkPart.asp
			javascriptShell/configurator.js
			css/configurator.css
			
		globalQueryString
			Store in query string a pre config value
		globalPreConfigFirstView
			Set a global variable for a first view so the configuration can be changed
			
		Dynamic Iframe loading
			http://www.quirksmode.org/js/iframe.html	
			
				parent.passCart.location.href = '/ecommerce/cart.aspx?PartNumber=' + partNum;
				frames['passCart'].location.href = '/ecommerce/cart.aspx?PartNumber=' + partNum;			
					Niether works in FF after the iframe is reloaded when changing the configuration
					Have to use getElementById
*/

//outside any function
var globalQueryString = getQueryVariable('preConfig');
var globalPreConfigFirstView = true;
var trackCartLoad = false;
var trackCartItem = '';

function partNotFoundRequest(){
	setTimeout('finishedSubmit()',1100);
}
function finishedSubmit(){
	if(document.getElementById('formThanks').style.display == 'block'){
		document.getElementById('noMatch').style.display = 'none';
	}	
}
function closeThankYou(){
	document.getElementById('formThanks').style.display = 'none';
}

function configNav(baseUrl,whichView){
	var fileCall = '';
	if(whichView == 'selector'){
		document.getElementById('httpReqResults2').style.display = 'block';
		document.getElementById('httpReqResults').style.width = '250px';
		fileCall = baseUrl + '/configurator/build/build_own.asp';
		xmlhttpPost(fileCall,'httpReqResults');
	}else if(whichView == 'allProds'){
		document.getElementById('httpReqResults2').style.display = 'none';
		document.getElementById('httpReqResults').style.width = '800px';
		fileCall = baseUrl + '/configurator/build/productIndex.asp';
		xmlhttpPost(fileCall,'httpReqResults');	
		//setTimeout('loadAccordions()',1000);
	}
}

function checkPreConfig(){
	if(window.globalQueryString != '999'){
		setTimeout('buildPartNumber()',1000);		
	}
	if(getQueryVariable('viewFullList') == 'true'){
		if(typeof('vertical_container')!='undefined'){
			setTimeout('openFullList()',1);
		}else{
			checkPreConfig();
		}
	}
}
function openFullList(){
	configNav('','allProds');
}
function buildPartNumber(){
	var partNum = '';
	var mounting = document.form2.mounting.value;
	var voltage = document.form2.voltage.value;
	var optionA = document.form2._A.checked;
	var master_slave = document.form2.master_slave;
	var master_slave_checked;
	var speakerType = document.form2.speaker_type;
	var speakerTypeChecked;
	var preConfigMount = '';
	var preConfigVoltage = '';
	var preConfigMasterSlave = '';
	var preConfigAccess = '';
	var preConfigLink = '';
	
	if(window.globalQueryString != '999' && globalPreConfigFirstView == true){
		var preConfigPnum = window.globalQueryString;
		/*preconfig
			1_3_D_A|3|8
			M_V_MS_ACS
			
			http://atkinson.orbisdesign.net/ProductSelector_6470.asp?preConfig=2_1_T_C_A|3|8
			
			
			mounting		M		1,2,3,4
			voltage			V		1,2,3,4
			MasterSlave		MS		Z,C,D								//Z is null
			Accessories		ACS		A|1|2|3|4|6|7|8|M34|M44
			
		*/
		
		preConfigPnum = preConfigPnum.toString();
		
		var preConfigArray = new Array();
		preConfigArray = preConfigPnum.split('_');
		
		mountingPreConfig = preConfigArray[0];
		voltagePreConfig = preConfigArray[1];
		voltagePreConfig = parseInt(voltagePreConfig) - 1;	//decrease 1 as there is no "select voltage"
		master_slavePreConfig = preConfigArray[2];
		accessoriesPreConfig = preConfigArray[3];
		
		//set form
		//~~~~~ mounting
		document.form2.mounting.options[mountingPreConfig].selected = true;
		//~~~~~ voltage 
		document.form2.voltage.options[voltagePreConfig].selected = true;
		//~~~~~ Master/Slave
		if(master_slavePreConfig == 'C'){
			document.form2.A2.checked = true;
			document.form2.master_slave[0].checked = true;
		}else if(master_slavePreConfig == 'D'){
			document.form2.A2.checked = true;
			document.form2.master_slave[1].checked = true;
		}
		//~~~~~ Accessories
		if(accessoriesPreConfig != null){
			if(accessoriesPreConfig.length > 0){
				var accessoriesArray = new Array();
				accessoriesArray = accessoriesPreConfig.split('|');
				for (y=0;y<accessoriesArray.length;y=y+1){
					eval('document.form2._' + accessoriesArray[y]).checked = true;
				}
			}
		}
		//Done now bypass this preconfig for changes
		globalPreConfigFirstView = false;
		//reset the vars
		mounting = document.form2.mounting.value;
		voltage = document.form2.voltage.value;
		optionA = document.form2._A.checked;
		master_slave = document.form2.master_slave;
		
		
	}	//***End Pre Config

	//Master/Slave
	for (z=0;z<master_slave.length;z=z+1){
		if(document.form2.master_slave[z].checked == true){
			master_slave_checked = master_slave[z].value;
		}
	}
	
	//Speaker choices
	/*
	for (z=0;z<speakerType.length;z=z+1){
		if(document.form2.speaker_type[z].checked == true){
			speakerTypeChecked = speakerType[z].value;
		}
	}
	*/
	
	var option1 = document.form2._1.checked;
	var option2 = document.form2._2.checked;
	var option3 = document.form2._3.checked;
	var option4 = document.form2._4.checked;
	var option6 = document.form2._6.checked;
	var option7 = document.form2._7.checked;
	var option8 = document.form2._8.checked;
	var selectSpeakers = document.form2.selectSpeakers.checked;	//new speakers
   	var M34 = document.form2._M34.checked;
	var M44 = document.form2._M44.checked;
	
	/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ build part number ] ~~~~~~~~~~~~~~~~~~~~~ */
	/* ~~~~~~~~~ [Start] ~~~~~~~~~ */
	partNum = partNum + 'AD-';
	/* ~~~~~~~~~ [Voltage] ~~~~~~~~~ */
	switch(voltage)
	{
	case '1':
	  partNum = partNum + '26';
	  preConfigVoltage = preConfigVoltage + '1';
	  break    
	case '2':
	  partNum = partNum + '56';
	  preConfigVoltage = preConfigVoltage + '2';
	  break 
	case '3':
	  partNum = partNum + '27';
	  preConfigVoltage = preConfigVoltage + '3';
	  break 
	case '4':
	  partNum = partNum + '57';
	  preConfigVoltage = preConfigVoltage + '4';
	  break 	  	  
	default:
	}
	
	/* ~~~~~~~~~ [Mounting] ~~~~~~~~~ */
	switch(mounting)
	{
		case '1':
		  partNum = partNum;
		  preConfigMount = preConfigMount + '1';
		  break    
		case '2':
		  partNum = partNum + 'P';
		  preConfigMount = preConfigMount + '2';
		  break 
		case '3':
		  partNum = partNum + 'T';
		  preConfigMount = preConfigMount + '3';
		  break 
		case '4':
		  partNum = partNum + '';
		  preConfigMount = preConfigMount + '4';
		  break 	  	  
		default:
	}
	
	/* ~~~~~~~~~ [Call button] ~~~~~~~~~ */
	if(optionA){
		partNum = partNum + "A";
		preConfigAccess = preConfigAccess + '|A';
	}
	
	/* ~~~~~~~~~ [Master/Slave] ~~~~~~~~~ */
	if(document.form2.master_slave[0].checked == true || document.form2.master_slave[1].checked == true){
		partNum = partNum + master_slave_checked;
		preConfigMasterSlave = preConfigMasterSlave + master_slave_checked;
	}else{
		preConfigMasterSlave = preConfigMasterSlave + 'Z';
	}	
	/* ~~~~~~~~~ [Accesories] ~~~~~~~~~ */
	if(option1){
		partNum = partNum + "-1";
		preConfigAccess = preConfigAccess + '|1';
	}
	if(option2){
		partNum = partNum + "-2";
		preConfigAccess = preConfigAccess + '|2';
	}
	if(option3){
		partNum = partNum + "-3";
		preConfigAccess = preConfigAccess + '|3';
	}
	if(option4){
		partNum = partNum + "-4";
		preConfigAccess = preConfigAccess + '|4';
	}
	if(option6){
		partNum = partNum + "-6";
		preConfigAccess = preConfigAccess + '|6';
	}
	if(option7){
		partNum = partNum + "-7";
		preConfigAccess = preConfigAccess + '|7';
	}
	if(option8){
		partNum = partNum + "-8";
		preConfigAccess = preConfigAccess + '|8';
	}
	if(M34){
		partNum = partNum + "-M34";
		preConfigAccess = preConfigAccess + '|M34';
	}
	if(M44){
		partNum = partNum + "-M44";
		preConfigAccess = preConfigAccess + '|M44';
	}

	if(preConfigAccess.indexOf("|") == 0){
		preConfigAccess = preConfigAccess.substring(1);
	}
	
	/* ~~~~~~~~~ [Speakers] ~~~~~~~~~ */
	if(selectSpeakers){
		selectSpeakers = document.form2.selectSpeakers.value;
	}
	if(option8){
		document.getElementById('speakerTypeDisplay').innerHTML = "Un-Amplified Speaker";
	}else{
		document.getElementById('speakerTypeDisplay').innerHTML = "Amplified Speaker";
	}	
	/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ build part number ] ~~~~~~~~~~~~~~~~~~~~~ */
	
	if(document.form2.mounting.value == ''){
		document.form2.mounting.options[1].selected = true;
	}

	//xmlhttpPost('/configurator/build/build_own_checkPart.asp?partNum=' + partNum + '&speakerType=' + speakerTypeChecked,'httpReqResults2');
	xmlhttpPost('/configurator/build/build_own_checkPart.asp?partNum=' + partNum + '&selectSpeakers=' + selectSpeakers,'httpReqResults2');
	
	if(preConfigAccess.length != 0){
		preConfigAccess = "_" + preConfigAccess;
	}
	if(preConfigMasterSlave.length != 0){
		preConfigMasterSlave = "_" + preConfigMasterSlave;
	}	

	preConfigLink = preConfigMount + "_" + preConfigVoltage + preConfigMasterSlave + preConfigAccess;
	document.getElementById('savedConfiguration').innerHTML = '<a href=\"ProductSelector_6470.aspx?preConfig=' + preConfigLink + '\">Pre-configure Link</a>';
}

function F1(){
	if(document.form2.A2.checked == false){
		document.form2.master_slave[0].checked = false;
		document.form2.master_slave[1].checked = false;		
	}else{
		document.form2.master_slave[0].checked = true;
	}
	buildPartNumber();
}
function F2(){
	document.form2.A2.checked = true;
	buildPartNumber();
}
function speakerCheck(){
	document.form2.SpeakerType.checked = true;
	buildPartNumber();
}
function unCheckSpeaker(){
	/*
	if(document.form2.SpeakerType.checked == false){
		document.form2.speaker_type[0].checked = false;
		document.form2.speaker_type[1].checked = false;
		document.form2.speaker_type[2].checked = false;
	}else{
		document.form2.speaker_type[0].checked = true;
	}
	*/
	buildPartNumber();
}
function getQueryVariable(variable) {
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++) {
		var pair = vars[i].split("=");
		if (pair[0] == variable) {
			return pair[1];
		}
  	}
	return "999";
}
function loadAccordions() {
	var bottomAccordion = new accordion('vertical_container', {
		resizeSpeed : 10,
		onEvent : 'click'
	});
	//bottomAccordion.activate($$('#vertical_container .accordion_toggle')[0]);
}
function hideAccordionsOnLoad(){
	var verticalAccordions = $$('.accordion_toggle');
	verticalAccordions.each(function(accordion) {
		$(accordion.next(0)).setStyle({
		  height: '0px'
		});
	});	
}
function passToCart(partNum){
	window.trackCartLoad = true;
	window.trackCartItem = partNum;
	//parent.passCart.location.href = '/ecommerce/cart.aspx?PartNumber=' + partNum;
	//frames['passCart'].location.href = '/ecommerce/cart.aspx?PartNumber=' + partNum;
	document.getElementById('passCart').src = '/ecommerce/cart.aspx?PartNumber=' + partNum;
	
	
	document.getElementById('dynamicMessage').innerHTML = "LOADING...";
	cartMessage('ON');
}
function frameLoaded(){
	var itemAdded = window.trackCartItem;
	var HTMLDisp = '';
	if(window.trackCartLoad == true){
		if(itemAdded.length > 3){
			HTMLDisp = HTMLDisp + 'Product added to cart: <span class=\"cartMessageProduct\">' + itemAdded + '</span>';
			HTMLDisp = HTMLDisp + '<p /><a href=\"#\" onClick=\"cartMessage(\'OFF\');\">OK: Continue Configurating</a>';
			HTMLDisp = HTMLDisp + '<p /><a href=\"/ecommerce/cart.aspx\">Visit Cart</a>';
			document.getElementById('dynamicMessage').innerHTML = HTMLDisp;
		}
		window.trackCartLoad = false;	//all done, set it back
	}
}
function cartMessage(state){
	
	if(state == 'OFF'){
		document.getElementById('addToCartMessage').style.display = 'none';
	}else{
		document.getElementById('addToCartMessage').style.display = 'block';
	}
}