finalErrorArray = new Array();

function isSet( variable )
{
return( typeof( variable ) != 'undefined' );
}

document.getElementsByClassName = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
};

function insertAfter(newElement,targetElement) {
	
	var parent = targetElement.parentNode;
	if(parent.lastchild == targetElement) {
		parent.appendChild(newElement);
	} else {
		parent.insertBefore(newElement, targetElement.nextSibling);
	}

}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function removeRowPermanent (rowId) {
	document.getElementById('lineItemContainer').removeChild(document.getElementById('tempLineItem'+rowId));
	formProcess(false);
}

function removeRow (rowId) {
	new Effect.SlideUp('tempLineItem'+rowId, {afterFinish:function(){removeRowPermanent(rowId)}});
}

function idExists (theVal) {
	if (document.getElementById(theVal) != null) {
		return true;
	} else {
		return false;
	}
}

function qsLoadingAnimation (loading) {
	if (loading==true) {
		document.getElementById('submit_button').disabled = true;
		//document.getElementById('submit_button').style.display = 'none';
		document.getElementById('qs-ajax-loader').style.display = '';
	} else {
		document.getElementById('submit_button').disabled = false;
		document.getElementById('qs-ajax-loader').style.display = 'none';
		//document.getElementById('submit_button').style.display = '';
	}
}

function addRowProcess (text, custom) {
	
	document.getElementById('tempLineItem'+custom['lineId']).innerHTML = text;
	new Ajax.Autocompleter('partnumber_line'+custom['lineId'], 'partnumber_line_auto_complete', 'ajax_lineitempart.php', {minChars:2,afterUpdateElement:addLineItemPart});
	qsCheckEverythingDynamic(false);
	
}

function addLineItemPart (inputField, selectedItem) {
	//
}

function quoteChangeSubmit (formIsGood, text) {
	
	if (formIsGood==true) {
		document.getElementById('submit_error').style.display = 'none';
		//document.getElementById('submit_button').disabled = false;
		//document.getElementById('submit_button').style.backgroundColor = '';
		document.getElementById('submit_button').value = text;
	} else {
		document.getElementById('submit_error').innerHTML = text;
		document.getElementById('submit_error').style.display = '';
	}
	
}

function insertAjaxCircle (id) {
	document.getElementById(id).innerHTML = '<center><img src="images/nav/ajax-circle.gif" style="padding-bottom:10px" /></center>';
}

function qsCheckGeneric () {
	genericErrors = false;
	var urlString = '&ajax=true&' + $('qs_form').serialize();
	postDataReturnXml ('ajax_validate_generic_form.php', urlString, {}, qsCheckGenericProcess);
}

function qsCheckGenericProcess (xmlData, custom) {
	var tempGenericErrors = 'false';
	quoteFieldArray.each(
		function(s, index) {
			if (xmlData.getElementsByTagName(s)[0].firstChild.nodeValue=='true') {
				Element.hide(s+'_error');
			} else {
				tempGenericErrors = 'true';
				if (document.getElementById(s).value=='') {
					document.getElementById(s+'_error').innerHTML = '<br />Please fill in this field.';
				} else {
					document.getElementById(s+'_error').innerHTML = '<br />Please correct this field.';
				}
				Element.show(s+'_error');
			}
		}
	);
	genericErrors = tempGenericErrors;
}