// JavaScript Document

function validateEmail(elementsInputs, intCounter)
{
	var emailFilter=/^.+@.+\..{2,3}$/; 
	if (!emailFilter.test(elementsInputs[intCounter].value)) 
	{ 
		return true; 
	} 
}


function inputLabelGet(input)
{
	var labels=document.getElementsByTagName("label"),i;
	
	if (document.getElementById(input).type == 'checkbox')
	{
		return document.getElementById(input).title;
	}
	else
	{
		for( i=0; i<labels.length;i++ )
		{
			if(labels[i].htmlFor==input)
			{
				//alert(labels[i].innerHTML);
				return labels[i].innerHTML;
			}
		}
	}
	
	
	
}

function validateText(elementsInputs, intCounter)
{
	//alert(elementsInputs[intCounter].type);
	if (elementsInputs[intCounter].type == 'checkbox')
	{
		if (elementsInputs[intCounter].checked == false) 
		{ 
			return true; 
		} 
	}
	else
	{
		if (elementsInputs[intCounter].value == "") 
		{ 
			return true; 
		} 
	}
}



function validateQuoteForm(form)
{
	
	if (!document.getElementsByTagName) 
	{
		return false;  
	}
	else
	{
		elementsForms = document.getElementsByTagName("form");  
		
		for (var intCounter = 0; intCounter < elementsForms.length; intCounter++)  
		{  
			if (!validateForm(elementsForms[intCounter]))
			{
				return false;	
			}
		}	
	}
}

function validateForm(currentForm)
{
	var blnvalidate = true;  
	var elementsInputs;
	elementsInputs = currentForm.getElementsByTagName("input"); 
	elementsSelects = currentForm.getElementsByTagName("select"); 
	elementsTextareas = currentForm.getElementsByTagName("textarea"); 
	
	
	
	//Validate SELECT boxes on the form with reqField class
	for (var intCounter = 0; intCounter < elementsSelects.length; intCounter++) 
	{
		
		elementClassNameArr = elementsSelects[intCounter].className.split(' ');
		
		if (elementClassNameArr.length == 2)
		{
			var elementClassName = elementClassNameArr[1]
		}
		else
		{
			var elementClassName = elementClassNameArr[0]
		}
		
		
		if (elementClassName == "reqField") 
		{ 
			if (validateText(elementsSelects, intCounter)) 
			{ 
				blnvalidate = false; 
				alert('You must complete the '+inputLabelGet(elementsSelects[intCounter].id)+' field'); 
				//return false;
			} 
		} 
	}
	
	//Validate INPUT boxes on the form with reqField class
	for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++) 
	{ 
		//alert(elementsInputs[intCounter].className.split);
		
		//alert(elementsInputs[intCounter].id);
		
		elementClassNameArr = elementsInputs[intCounter].className.split(' ');
		if (elementClassNameArr.length == 2)
		{
			var elementClassName = elementClassNameArr[1]
		}
		else
		{
			var elementClassName = elementClassNameArr[0]
		}
		
	//	if (elementsInputs[intCounter].className == "reqField") 
		if (elementClassName == "reqField") 
		{ 
			//alert(elementsInputs[intCounter].id);
			//alert('in');
			if (validateText(elementsInputs, intCounter)) 
			{ 
				blnvalidate = false; 
				alert('You must complete the '+inputLabelGet(elementsInputs[intCounter].id)+' field'); 
				//return false;
			} 
		} 
		else if (elementClassName == "reqemail") 
		{ 
			if (validateEmail(elementsInputs, intCounter)) 
			{ 
				blnvalidate = false; 
				alert('Please enter a valid email address');
				//return false;
			} 
		} 
	} 
	
	//Validate TEXTAREA boxes on the form with reqField class
	for (var intCounter = 0; intCounter < elementsTextareas.length; intCounter++) 
	{
		
		elementClassNameArr = elementsTextareas[intCounter].className.split(' ');
		
		if (elementClassNameArr.length == 2)
		{
			var elementClassName = elementClassNameArr[1]
		}
		else
		{
			var elementClassName = elementClassNameArr[0]
		}
		
		
		if (elementClassName == "reqField") 
		{ 
			if (validateText(elementsTextareas, intCounter)) 
			{ 
				blnvalidate = false; 
				alert('You must complete the '+inputLabelGet(elementsTextareas[intCounter].id)+' field'); 
				//return false;
			} 
		} 
	}
	
	
	return blnvalidate;
}



function expandListItem(ID)
{
	//alert(document.getElementById('img_'+ID).src);
	
	
	if (document.getElementById(ID).className == 'show')
	{
		//alert('currently open');
		document.getElementById('img_'+ID).src = 'images/imgExpandTriangle.gif'	
		document.getElementById(ID).className = 'hide'	
	}
	else
	{
		//alert('currently closed');
		document.getElementById('img_'+ID).src = 'images/imgCollapseTriangle.gif'	
		document.getElementById(ID).className = 'show'	
	}
	
	//return false;
	
}
