// JavaScript Document
function checkform(of)
{
	// Test if DOM is available 
  if(!document.getElementById || !document.createTextNode){return;}
  
// Define error messages and required fields
var errorID='errormsg';
  	var errorClass='error'
  	var errorMsg=' Please enter valid information in the fields indicated above.';
  	var errorImg='http://www.eastatlantastrut.com/images/error_button.jpg';
  	var errorAlt='Error';
  	var errorTitle='This field has an error!';
  	var requiredArray= [];
  	requiredArray[0]=document.getElementById('Company');
  	requiredArray[1]=document.getElementById('Contact');
  	requiredArray[2]=document.getElementById('Item');
  	requiredArray[3]=document.getElementById('Address');
  	requiredArray[4]=document.getElementById('Phone');
  	requiredArray[5]=document.getElementById('Email');
  	requiredArray[6]=document.getElementById('Value');
	
// Cleanup old mess
  // if there is an old errormessage field, delete it
  if(document.getElementById(errorID))
  {
    var em=document.getElementById(errorID);
    em.parentNode.removeChild(em);
  }
  // remove old images and classes from the required fields
  for(var i=0;i<requiredArray.length;i++)
  {
    var f=requiredArray[i];
    if(!f){continue;}
    if(f.previousSibling && /img/i.test(f.previousSibling.nodeName))
    {
      f.parentNode.removeChild(f.previousSibling);
    }
    f.className='';
  }
// loop over required fields
  for(var i=0;i<requiredArray.length;i++)
  {
// check if required field is there
    var f=requiredArray[i];
    if(!f){continue;}
// test if the required field has an error, 
// according to its type
    switch(f.type.toLowerCase())
    {
      case 'text':
        if(f.value=='' && f.id!='Email'){cf_adderr(f)}              

// check e-mail separately
        if(f.id=='Email' && 
        !cf_isEmailAddr(f.value)){cf_adderr(f)}              
      break;
      case 'textarea':
        if(f.value==''){cf_adderr(f)}              
      break;
      case 'checkbox':
        if(!f.checked){cf_adderr(f)}              
      break;
      case 'select-one':
        if(!f.selectedIndex && f.selectedIndex==0){cf_adderr(f)}              
      break;
    }
  }
return !document.getElementById(errorID);

/* Tool methods */
			function cf_adderr(o)
			{
// create image, add to and color the error fields
	var errorIndicator=document.createElement('img');
	errorIndicator.alt=errorAlt;
	errorIndicator.src=errorImg;
	errorIndicator.title=errorTitle;
	o.className=errorClass;
	o.parentNode.insertBefore(errorIndicator,o);

// Check if there is no error message
    if(!document.getElementById(errorID))
    {
    // create errormessage and insert before submit button
      var em=document.createElement('div');
      em.id=errorID;
      var newp=document.createElement('p');
	  // clone and insert the error image
	  newp.appendChild(errorIndicator.cloneNode(true));
	  newp.appendChild(document.createTextNode(errorMsg));
       em.appendChild(newp);
	
// find the submit button 
					for(var i=0;i<of.getElementsByTagName('input').length;i++)
					{
						if(/submit/i.test(of.getElementsByTagName('input')[i].id))
						{
							var sb=of.getElementsByTagName('input')[i];
							break;
						}
					}
					if(sb)
					{
						sb.parentNode.insertBefore(em,sb);
					}	
				} 
	}
function cf_isEmailAddr(str) 
  {
      return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
  }
}
function clearDefault(el) {
  if (el.defaultValue==el.value) el.value = ''
}

