function controlSectionArea(section_id, control_status)
{
	var status = $(section_id).title;
	if(status == 'default')
	{
		if(control_status == 'closed')
		{
			$(section_id).title = 'closed';
			toggleSection(section_id);
		}
		else
		{
			$(section_id).title = 'open';
		}
	}
	else if(status == 'closed' && control_status == 'open')
	{
		$(section_id).title = 'open';
		toggleSection(section_id);
	}
	else if(status == 'open' && control_status == 'closed')
	{
		$(section_id).title = 'closed';
		toggleSection(section_id);
	}
	
}

function toggleSectionMain(section_id, section_element)
{
	
	var status = $(section_id).title;
	if(status == 'closed')
	{
		$(section_id).title = 'open';
		section_element.className = 'sectionbuttomOpen';
	}
	else
	{
		$(section_id).title = 'closed';
		section_element.className = 'sectionbuttomClose';
	}
	
	toggleSection(section_id);
}


function toggleSection(section_id)
{
	var myVerticalSlide = new Fx.Slide(section_id);
	myVerticalSlide.toggle();
}

function hideSection(section_id)
{
	var myVerticalSlide = new Fx.Slide(section_id);
	myVerticalSlide.hide();
}

function showSection(section_id)
{
	var myVerticalSlide = new Fx.Slide(section_id);
	myVerticalSlide.show();
}

function isValidEmail(value)
{
	var x = value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) return true;
	else return false;
}

function isValidPhoneNumber(s)
{
	// Check for correct phone number
	rePhoneNumber = new RegExp(/^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/);
	
	if (!rePhoneNumber.test(s))
		return false;
	
	return true;
}

function isValidSerialNumber(s)
{
	serial_number = s.toUpperCase();
	
	var filter1  = /^(L\d{6})+$/;
	var filter2  = /^(L\d{9})+$/;
	var filter3  = /^(LIT\d{8})+$/;
	var filter4  = /^(F\d{6})+$/;
	
	if(filter1.test(serial_number) || filter2.test(serial_number) || filter3.test(serial_number) || filter4.test(serial_number))
		return true;
	else
		return false;
}

function formValidate(formobj){
	// Enter name of mandatory fields
	//var fieldRequired = Array("FirstName","First Name","email","LastName","Last Name","ssn");
	//You can have as many required arrays as desired i.e. formValidate(formobj, Array1, Array2,...)
	
	var backgroundColorFail = "#FF9999";
	var backgroundColorVaild = "#FFFFFF";
	
	// dialog message
	var alertMsg = "Please complete the following:\n";
	
	var l_Msg = alertMsg.length;
	
	args=formValidate.arguments;
	
	for (var k = 1; k < args.length; k++)
	{	
		var fieldRequired = args[k];
		for (var i = 0; i < fieldRequired.length; i++)
		{
			var obj = formobj.elements[fieldRequired[i]];
			if (obj){
				switch(obj.type){
				case "select-one":
					if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
						alertMsg += " - " + fieldRequired[i+1] + "\n";
						obj.style.background = backgroundColorFail;
					}
					else
						obj.style.background = backgroundColorVaild;
					break;
				case "select-multiple":
					if (obj.selectedIndex == -1){
						alertMsg += " - " + fieldRequired[i+1] + "\n";
						obj.style.background = backgroundColorFail;
					}
					else
						obj.style.background = backgroundColorVaild;
					break;
				case "text":
				case "textarea":
				case "password":
					if (obj.value == "" || obj.value == null)
					{
						alertMsg += " - " + fieldRequired[i+1] + "\n";
						obj.style.background = backgroundColorFail;
					}
					else if(fieldRequired[i+2] == 'email')
					{
						if(!isValidEmail(obj.value))
						{
							alertMsg += " - " + fieldRequired[i+1] + " must be an email address\n";
							obj.style.background = backgroundColorFail;	
						}
						else
							obj.style.background = backgroundColorVaild;
					}
					else if(fieldRequired[i+2] == 'phone')
					{
						if(!isValidPhoneNumber(obj.value))
						{
							alertMsg += " - " + fieldRequired[i+1] + " must be entered as: (555) 555-1234\n";
							obj.style.background = backgroundColorFail;	
						}
						else
							obj.style.background = backgroundColorVaild;
					}
					else if(fieldRequired[i+2] == 'date')
					{
						if(!validateDate(obj.value,'U','A'))
						{
							alertMsg += " - " + fieldRequired[i+1] + " must be a date formatted mm-dd-yyyy\n";
							obj.style.background = backgroundColorFail;	
						}
						else
							obj.style.background = backgroundColorVaild;
					}
					else if(fieldRequired[i+2] == 'serial')
					{
						if(!isValidSerialNumber(obj.value))
						{
							alertMsg += " - " + fieldRequired[i+1] + " is an invalid Serial Number\n";
							obj.style.background = backgroundColorFail;	
						}
						else
							obj.style.background = backgroundColorVaild;
					}
					else
						obj.style.background = backgroundColorVaild;
					break;
				default:
				}
				if (obj.type == undefined){
					var blnchecked = false;
					for (var j = 0; j < obj.length; j++){
						if (obj[j].checked){
							blnchecked = true;
						}
					}
					if (!blnchecked)
					{
						alertMsg += " - " + fieldRequired[i+1] + "\n";
					}
				}
			}
			
			i=i+2;
		}
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		if(alertMsg.length > 100)
			alertMsg = '(Press "ENTER" on your keybord to continue.)\n'+alertMsg;
		alert(alertMsg);
		return false;
	}
}

function verifyPassword(form_element)
{
	var errors = '';
	
	if(form_element.password.value.length < 4)
  		errors += '- Your password needs to be at least four characters.\n';
  
 	if(form_element.password.value != form_element.password_confirm.value)
  		errors += '- Your password does not match the password confirm.\n';
	
	if(form_element.terms.value != null && !form_element.terms.checked)
  		errors += '- You must agree to the terms of use.\n';
	
	if(errors)
	{
		alert('The following error(s) occurred:\n'+errors);
		return false;
	}
	else
		return true;
	
}
