function $(elementId)
{
  return document.getElementById(elementId);
}

function flashDisplay(id, width, height, wmode){
  var currPath = "http://www.planandprint.com/";
  document.write('<object\n');	document.write('type="application/x-shockwave-flash"');
  document.write('data="' + currPath + 'flash/' + id + '.swf"');
  document.write('width="' + width + '" height="' + height + '">\n');
  document.write('<param name="loop" value="false" />\n');
  document.write('<param name="wmode" value="' + wmode + '" />\n');
  document.write('<param name="movie" value="' + currPath + 'flash/' + id + '.swf" />\n');
  document.write('</object>\n');
}

/*
 *	Function: charCount
 *
 *  Parameters:
 *  textInput = id of input[type='text'] or id of textarea containing
 *              text to be counted.
 *  displayArea = id of the element to display the character count
 *  maxChars = the maximum amount of characters allowed for this field
 *
 *  When the maximum amount of characters are exceeded by the user,
 *  the display turns dark red, and the size increases.
*/
function charCount(textInput, displayArea, maxChars)
{
	var textElement = document.getElementById(textInput);
	var displayElement = document.getElementById(displayArea);
	
	var totalCharacters = 0;
	
	if (textElement.value != "")
		totalCharacters = textElement.value.length;
	
	displayElement.innerHTML = "Character Count: " + totalCharacters;
	
	if (totalCharacters >= maxChars)
	{
		displayElement.style.color = "#900";
		displayElement.style.fontSize = "12px";
	}
	else
	{
		displayElement.style.color = "#000";
		displayElement.style.fontSize = "11px";
	}
}

function validateEmail(emailStr)
{
  var emailRegex = /^[A-Z0-9._%-]+@[A-Z0-9.-]+\.(?:[A-Z]{2}|com|org|net|biz|info|name|aero|info|jobs|museum|name|gov|edu|mil|asia|int)$/i;
  
  if (!emailRegex.test(emailStr))
    return false;
  else
    return true;
}

function validatePhone(phoneStr)
{
  var phoneRegex = /^\([\d]{3}\)\s?[\d]{3}-[\d]{4}$/;
  
  if (!phoneRegex.test(phoneStr))
    return false;
  else
    return true;
}

function validateMailingList()
{
  var formEl = $('join_mailing_list');
  
  if (formEl.mailing_name.value == '')
  {
    $('mailing_list_msg').innerHTML = 'Please enter your name.';
    return false;
  }
  else if (formEl.mailing_email.value == '')
  {
    $('mailing_list_msg').innerHTML = 'Please enter your email address.';
    return false;
  }
  else if (!validateEmail(formEl.mailing_email.value))
  {
    $('mailing_list_msg').innerHTML = 'Please enter a valid email address.';
    return false;
  }
  else
    return true;
}

function validateQuoteForm()
{
  var formEl = $('quote_form');
  
  if (formEl.quote_name.value == '')
  {
    $('quote_form_msg').innerHTML = 'Please enter your name.';
    return false;
  }
  else if (formEl.title.value == '')
  {
    $('quote_form_msg').innerHTML = 'Please enter your title.';
    return false;
  }
  else if (formEl.quote_email.value == '')
  {
    $('quote_form_msg').innerHTML = 'Please enter your email address.';
    return false;
  }
  else if (!validateEmail(formEl.quote_email.value))
  {
    $('quote_form_msg').innerHTML = 'Please enter a valid email address.';
    return false;
  }
  else if (formEl.company.value == '')
  {
    $('quote_form_msg').innerHTML = 'Please enter your company.';
    return false;
  }
  else if (formEl.mailing_add.value == '')
  {
    $('quote_form_msg').innerHTML = 'Please enter your mailing address.';
    return false;
  }
  else if (formEl.city.value == '')
  {
    $('quote_form_msg').innerHTML = 'Please enter your city.';
    return false;
  }
  else if (formEl.state.value == '')
  {
    $('quote_form_msg').innerHTML = 'Please enter your state.';
    return false;
  }
  else if (formEl.zip.value == '')
  {
    $('quote_form_msg').innerHTML = 'Please enter your zip code.';
    return false;
  }
  else if (formEl.office_phone.value == '')
  {
    $('quote_form_msg').innerHTML = 'Please enter your office phone number.';
    return false;
  }
  else if (!validatePhone(formEl.office_phone.value))
  {
    $('quote_form_msg').innerHTML = 'The phone number should be in the format: (xxx) xxx-xxxx';
    return false;
  }
  else if (formEl.fax.value != '' && !validatePhone(formEl.fax.value))
  {
    $('quote_form_msg').innerHTML = 'The fax number should be in the format: (xxx) xxx-xxxx';
    return false;
  }
  else if (formEl.job_description.value == '')
  {
    $('quote_form_msg').innerHTML = 'Please enter a description of the job/project you would like us to quote.';
    return false;
  }
  else
    return true;
}