Event.observe(window, 'load', init, false);

	
function init(){

	observeInits();
	
}

function observeInits() {
	Event.observe('AssPartSearch', 'click', submitAssSearch, false);
	Event.observe('BuildAssembly', 'click', submitBuildAssemblyForm, false);
	//Event.observe('assembly_part_number', 'keypress', entsub, false);
}

function checkOptions() {

	var noErrors = true;

	if (!validateAssembly()) {
	
		noErrors = false;
	}
	
	return noErrors;
}

function entsub(myform,e) {

	if(window.event)
	keyPressed = window.event.keyCode; // IE
	else
	keyPressed = e.which; // Firefox

	
  //if (window.event && window.event.keyCode == 13){
  if (keyPressed==13){
 		submitAssSearch()
 		return false
 
  }
  else{
    return true;
    }
}

function validateAssembly(event){
  	var assembly_part_number = $F('assembly_part_number');
	//Strip out spaces and '.' from string 
	assembly_part_number = assembly_part_number.replace(new RegExp("\\s|\\.", "gm"), "");
	// Replace all "O" with zeroes.
	assembly_part_number = assembly_part_number.replace(new RegExp("o", "gmi"), "0");
	
	document.getElementById('assembly_part_number').value=assembly_part_number;
	
	// check to see if the assembly contains a valid number of digits and contains letters and numbers.
	var reDigits = new RegExp('^([a-zA-Z0-9]{10,13})$');
	var result = assembly_part_number.match(reDigits);
	
	var errorLengthContainer = $('errorAssPartNumContainer');
	var msgLengthErrorContainer = $('msgAssPartNumErrorContainer');
	var msgLengthErrorMessage = $('msgAssPartNumErrorMessage');
	
	// Make sure message box is cleared 
	clearErrorMessage(errorLengthContainer, msgLengthErrorContainer);
  	
  	if (result == null) {

		//var errorMessage = $('assembly_validation_error_message');
		//errorMessage.innerHTML = "<p><font color='red'>This is an invalid assembly part number." +
					//			" Format of an assembly part number is [Cable part number][Connector part number][Connector part number][Length of Cable]</font></p>"
	
		errorMessage = errorinvalid;
	
		displayErrorMessage(errorLengthContainer, 
							msgLengthErrorContainer,
							msgLengthErrorMessage,
							errorMessage,
							'400px');
	
		if (event && event.preventDefault) {
    
    	   	event.preventDefault(); // DOM style
 
    	}
	
  		return false; // IE style
  	
  	} else {

  		return true; // IE style

	}

}

function submitBuildAssemblyForm(event)
{

  var formvar = $('BuildForm');
  //formvar.submit();
  postForm(formvar, 'build_new_assembly.jsp?redirect=parameters.jsp');
}


function postForm(form, submitPage) {

	form.action = submitPage;
	form.method = 'post';
	
	form.submit();

}

function submitAssSearch(event)
{
  
  	var errorBool = false;
	var formvar = $('search_assembly');

	// Call function to check to see if we have valid options on form selected.
	//var result = checkOptions();
	
	if(checkOptions()) {
	
		postForm(formvar, 'search_assembly.jsp');
		
	} else {

		// Call function to reinitialise event handlers.
		observeInits();
	
	}
  
}

function displayErrorMessage(ref, errorMessageContainer, errorMessageTextContainer, errorMessage) {

	var width = "110px";
	
	if (arguments.length > 4) {
	
		width = arguments[4];
	
	}
	
	ref.style.width = width;
	ref.style.padding = "3px";

	ref.style.backgroundColor = "#FFFFFF";
	ref.style.border = "1px solid #a6aaae";

	errorMessageTextContainer.innerHTML = errorMessage;
	errorMessageContainer.style.display = "";
	
	//refAlert=document.getElementById("alertDiv")
	//refAlert.style.left=-950
	//refAlert.style.top=200
	//refAlert.style.display = ""

}	


function displayTopErrorMessage(ref, errorMessageContainer, errorMessageTextContainer, errorMessage) {


	errorMessageTextContainer.innerHTML = errorMessage;
	errorMessageContainer.style.display = "";
	


}	

function clearErrorMessage(ref, errorMessageContainer) {

	ref.style.width = "";
	ref.style.padding = "";

	ref.style.backgroundColor = "";
	ref.style.border = "";

	errorMessageContainer.style.display = "none";

}	

function clearTopErrorMessage(ref, errorMessageContainer) {


	errorMessageContainer.style.display = "none";

}

function noAss(){

	var errorLengthContainer = $('toperror');
	var msgLengthErrorContainer = $('toperror');
	var msgLengthErrorMessage = $('toperrormsg');
	
	// Make sure message box is cleared 
	clearTopErrorMessage(errorLengthContainer, msgLengthErrorContainer);
	
		errorMessage = errornaferror;
		
		displayTopErrorMessage(errorLengthContainer, 
							msgLengthErrorContainer,
							msgLengthErrorMessage,
							errorMessage,
							'400px');
	

}


