function stateAdd (select) {
	var option = document.createElement("option");
	option.text = 'International';
	option.value = 'void1';
	select.options.add(option);
	var i;
	for (i=select.options.length-1; i>=0; i--) {
		if (select.options[i].value == 'void1') {
			select.options[i].selected = true;
		}
	}
}
function stateDelete (select) {
	var i;
	for (i=select.options.length-1; i>=0; i--) {
		if (select.options[i].value == 'void1' || select.options[i].value == 'void2' || select.options[i].value == 'void3') {
			select.remove(i);
		}
	}
}
function autoCountry () {
	if (document.getElementById('country').value == 'US') {
		stateDelete(document.getElementById('state'));
		document.getElementById('postal_code_text').innerHTML = '* Zip Code:';
		document.getElementById('city_text').innerHTML = '* City:';
		document.getElementById('state_domestic_text').innerHTML = '* State:';
		document.getElementById('state_international_help_text').innerHTML = '';
		document.getElementById('state_international_text').innerHTML = '* State/Province:<br />(required if applicable)';
		document.getElementById('address1_row').style.display = '';
		document.getElementById('address2_row').style.display = '';
		document.getElementById('city_row').style.display = '';
		document.getElementById('state_international_row').style.display = 'none';
		document.getElementById('state_domestic_row').style.display = '';
		document.getElementById('postal_code_row').style.display = '';
	} else {
		stateDelete(document.getElementById('state'));
		stateAdd(document.getElementById('state'));
		document.getElementById('state').value='void1';
		document.getElementById('postal_code_text').innerHTML = 'Postal Code:<br />(required if applicable)';
		document.getElementById('city_text').innerHTML = '* City/Town';
		document.getElementById('state_domestic_text').innerHTML = '* State:';
		document.getElementById('state_international_help_text').innerHTML = '';
		document.getElementById('state_international_text').innerHTML = '* State/Province:<br />(required if applicable)';
		document.getElementById('address1_row').style.display = '';
		document.getElementById('address2_row').style.display = '';
		document.getElementById('city_row').style.display = '';
		document.getElementById('state_domestic_row').style.display = 'none';
		document.getElementById('state_international_row').style.display = '';
		document.getElementById('postal_code_row').style.display = '';
	}
}

function addRow (afterWhichRow) {
	
	for (i=1; i<=999999999; i++) {
		if (idExists('tempLineItem'+i)==false) {
			var nextNumber = i;
			break;
		}
	}
	
	//alert(nextNumber);
	
	var newdiv = document.createElement('div');
	newdiv.setAttribute('id', 'tempLineItem'+nextNumber);
	newdiv.innerHTML = '<center><img src="images/nav/ajax-circle.gif" style="padding-bottom:10px" /></center>';
	insertAfter(newdiv, document.getElementById('tempLineItem'+afterWhichRow));
	
	postDataReturnTextCustom ('rfq/sample_row.php', '&i='+nextNumber, {'lineId':nextNumber}, addRowProcess);
	
}

qsRequestInitiated = false;
lastCall = false;

function qsCheckEverythingDynamic (trySubmit) {
	
	if (qsRequestInitiated==false) {
		clearTimeout(lastCall);
		if (trySubmit==true) {
			qsLoadingAnimation(true);
		}
		lastCall = setTimeout(function(){formProcess(trySubmit)}, 1500);
	}
	
}

function quoteCheckQuantitiesGo (partnumber, quantity, updateDivNumber, clearLoading) {
	
	if (idExists('updateDiv'+updateDivNumber)==true) {
		var urlString = '&partnumber='+partnumber+'&updateDivNumber='+updateDivNumber;
		urlString += '&qty='+quantity;
		postDataReturnXml ('rfq/samples_check_quantities.php', urlString, {'clearLoading':clearLoading,'updateDiv':'updateDiv'+updateDivNumber,'trackerDiv':'trackerDiv'+updateDivNumber}, quoteCheckQuantitiesProcess);
	}
	
}

function quoteCheckQuantitiesProcess (xmlData, custom) {
	
	if (custom['clearLoading']==true) {
		qsLoadingAnimation(false);
	}
	
	var updateDivNum = custom['updateDiv'];
	updateDivNum = updateDivNum.replace('updateDiv', '');
	
	if (xmlData.getElementsByTagName("trackerDiv")[0].firstChild.nodeValue=='empty' && document.getElementById(custom['updateDiv']).style.display=='none') {
		//alert('no error 1');
		finalErrorArray[updateDivNum] = 'no error';
	} else if (xmlData.getElementsByTagName("trackerDiv")[0].firstChild.nodeValue=='empty' && document.getElementById(custom['updateDiv']).style.display!='none') {
		new Effect.Fade(custom['updateDiv']);
		document.getElementById(custom['trackerDiv']).innerHTML = 'empty';
		if (custom['clearLoading']==true) {
			quoteChangeSubmit(true, 'Send my request');
		}
		finalErrorArray[updateDivNum] = 'no error';
		//alert('no error 2');
	} else if (document.getElementById(custom['trackerDiv']).innerHTML != xmlData.getElementsByTagName("trackerDiv")[0].firstChild.nodeValue) {
		//alert(xmlData.getElementsByTagName("trackerDiv")[0].firstChild.nodeValue + '...' + document.getElementById(custom['trackerDiv']).innerHTML);
		//alert(xmlData.getElementsByTagName("pageText")[0].firstChild.nodeValue);
		error = true;
		document.getElementById(custom['updateDiv']).innerHTML = xmlData.getElementsByTagName("pageText")[0].firstChild.nodeValue;
		if (document.getElementById(custom['updateDiv']).style.display=='none') {
			new Effect.Appear(custom['updateDiv']);
		} else {
			new Effect.Highlight(custom['updateDiv']);
		}
		if (custom['clearLoading']==true) {
			quoteChangeSubmit(false, 'PLEASE FILL IN ALL REQUIRED FIELDS BEFORE PROCEEDING');
		}
		finalErrorArray[updateDivNum] = 'error';
		//alert('error');
	} else {
		finalErrorArray[updateDivNum] = 'error';
	}
	
	//alert(finalErrorArray[updateDivNum]);
	//alert(finalErrorArray.each(function(s, index) { alert(index + ': ' + s); }));
	
}

function checkForm () {
	var divArray = new Array();
	divArray = document.getElementsByClassName('trackerDiv');
	var i = 0;
	quoteErrors = false;
	allDone = true;
	var localQuoteErrors = false;
	finalErrorArray.each(function(s, index) {
		//alert(index+': '+s);
		if (s==false) {
			allDone = false;
			throw $break;
		} else {
			if (s=='error') {
				localQuoteErrors = 'true';
				//clearInterval(checkFormTimer);
				//throw $break;
			}
		}
	});
	if (allDone==true) {
		clearInterval(checkFormTimer);
		if (localQuoteErrors=='true') {
			quoteErrors = 'true';
		} else {
			quoteErrors = 'false';
		}
	}
}

function formProcess (trySubmit) {
	
	qsRequestInitiated = true;
	qsLoadingAnimation(true);
	finalErrorArray.clear();
	
	var divArray = new Array();
	divArray = document.getElementsByClassName('trackerDiv');
	var i = 0;
	for (i=0;i<=(divArray.length-1);i++) {
		var currentId = divArray[i].id;
		currentId = currentId.replace('trackerDiv', '');
		//alert(currentId);
		finalErrorArray[currentId] = false;
		quoteCheckQuantitiesGo(document.getElementById('partnumber_line'+currentId).value, document.getElementById('qty1_line'+currentId).value, currentId, false);
	}
	checkFormTimer = setInterval(function(){checkForm()}, 300);
	qsCheckGeneric();
	qsCheckForAllErrorsTimer = setInterval(function(){qsCheckForAllErrors(trySubmit)}, 300)
	
}

quoteFieldArray = new Array('company_name', 'first_name', 'last_name', 'phone', 'email_address', 'state', 'country', 'address1', 'address2', 'city', 'zip', 'reference', 'referred_by');

function qsCheckForAllErrors (trySubmit) {
	if (genericErrors!=false && quoteErrors!=false) {
		qsLoadingAnimation(false);
		clearInterval(qsCheckForAllErrorsTimer);
		if (trySubmit==true) {
			if (genericErrors=='true' || quoteErrors=='true') {
				quoteChangeSubmit(false, 'PLEASE FILL IN ALL REQUIRED FIELDS BEFORE PROCEEDING');
				alert('Required fields are either missing or incorrect. Please review all errors.');
			} else {
				document.qs_form.submit();
			}
		} else {
			if (genericErrors=='true' || quoteErrors=='true') {
				quoteChangeSubmit(false, 'PLEASE FILL IN ALL REQUIRED FIELDS BEFORE PROCEEDING');
			} else {
				quoteChangeSubmit(true, 'Send my request');
			}
		}
		qsRequestInitiated = false;
	}
}