	var errorMsg = "Please fill in all highlighted areas with appropriate information.";
	function writeErrMsg(){
		var errCont = document.getElementById("formErrMsg");
		errCont.style.display = "block";
		var errContC = errCont.firstChild;
		if(errCont.firstChild){
			errCont.removeChild(errContC);
		}
		var errNode = document.createTextNode(errorMsg);
		errCont.appendChild(errNode);
	}
	function formValidate(){		
		var firstName = document.getElementById("fname");
		var lastName = document.getElementById("lname");
		var emailAdd = document.getElementById("emailAdd");
		var phonenum = document.getElementById("phonenum");
		var company = document.getElementById("company");
		var state = document.getElementById("state");
		var errors = 0;
		var toBeChecked = new Array(firstName,lastName,emailAdd,phonenum,company,state);
		for(var i=0;i<toBeChecked.length;i++){
			var elem = eval(toBeChecked[i]);
			elem.style.backgroundColor = "#ffffff";
			if(elem.value == ""){
				elem.style.backgroundColor = "#FA9E8A";
				errors += 1;
				}	
		}
		var emailToCheck = emailAdd.value;
		var express = /[\w\.]+\@+.+\.\w{2,3}/;
		var matchCheck = express.test(emailToCheck);
		if(!matchCheck){
			errors += 1;
			emailAdd.style.backgroundColor = "#FA9E8A";
		}
		if (errors>0){
			writeErrMsg();
			return false;
		}
		else{
			return true;
		}
	}	
	
function getQuoteParams(){
var loc = window.location.search.substring(1).split('&');
var locLen = loc.length;
var i = 0;
var quoteFormDescription = document.getElementById('quoteFormDescription');
var text = '';
	while(i < locLen){
    	var splitQuery = loc[i].split('=');
        if(splitQuery[0] == 'id'){
			 switch(splitQuery[1]){
				case 'snap-shop':
					text = 'Snap Shop'
				break;
				case 'product-reviews':
					text = 'Product Reviews'
				break;
				case 'dynamic-cascading-menu':
					text = 'Cascading Menus'
				break;
				default:
				break;
			}
        }
        i++;
    }
	if(quoteFormDescription && text != ''){
		quoteFormDescription.value = 'I am interested in ' + text
	}
}

// addEvent()
function addEvent( obj, type, func )
{
	if ( !obj )
	{
		return;
	}
	if ( obj.addEventListener )
	{
		obj.addEventListener( type, func, false );
	}
	else if ( obj.attachEvent )
	{
		obj['e'+type+func] = func;
		obj[type+func] = function() { obj['e'+type+func]( window.event ); }
		obj.attachEvent( 'on'+type, obj[type+func] );
	}
	else
	{
		obj['on'+type] = obj['e' + type + func];
	}
}

// comment character limit
var quoteFormDescription = document.getElementById( 'quoteFormDescription' );
var quoteFormCounter     = document.getElementById( 'quoteFormCount' );
var quoteFormLimit       = 600;
if ( quoteFormDescription && quoteFormCounter )
{
	function textAreaCount()
	{
		if ( quoteFormDescription.value.length > quoteFormLimit )
		{
			quoteFormDescription.value = quoteFormDescription.value.substring( 0, quoteFormLimit );
			return;
		}
		var charsLeft   = quoteFormLimit - quoteFormDescription.value.length;
		var plural      = charsLeft == 1 ? '' : 's';
		var charMessage = 'Characters remaining: <strong>' + charsLeft + '</strong>';
		quoteFormCounter.innerHTML = charMessage;
	}
	addEvent( window, 'load', textAreaCount );
	addEvent( quoteFormDescription, 'keyup', textAreaCount );
	addEvent( quoteFormDescription, 'keydown', textAreaCount );
}