// validate Attributes- V1.01
var rbuttons = new Object();
function validateattributes(thisform, checkdate){			// validate layout form
  // clear any previous values (in case of repeated submits)
  for ( button in rbuttons ) rbuttons[button] = null;
  var datecount = 0;

  var alertmsg = '';
  var elems = thisform.elements;
  for ( var i=0; i<elems.length; i++ )
    {
    // first do Select tags
    if ( elems[i].type == 'select-one')
      {
      validatemsg = elems[i].getAttribute('validate');
      if ( validatemsg )
        {
        if ( elems[i].selectedIndex == 0 ) alertmsg += validatemsg + '\n';	// error if first choice set
        }
      // bonus code - make sure date is not on default value
      if ( checkdate )
      	{
      	if ( elems[i].name.match(/^DAY_|^M_|^Y_/) && (elems[i].selectedIndex == 0) ) datecount++;
      	}
      }

    // now do radio buttons
    if ( elems[i].type == 'radio')
      {
      var thisbutton = elems[i];
      var validatemsg = thisbutton.getAttribute('validate');
      if ( validatemsg )
        {
        var rname = thisbutton.name;       
        var rchecked = thisbutton.checked; 
        if (! rbuttons[rname] ) rbuttons[rname] = validatemsg;	// first time so add in error message
        if ( rchecked ) rbuttons[rname] = 'O-K';		// clear error if anything is set
        }      
      }      
    // get next form field        
    }

  // add radio button errors if required
  for ( button in rbuttons )
    {
    if (rbuttons[button] && (rbuttons[button] != 'O-K') ) alertmsg += rbuttons[button] + '\n';
    } 
    
  // add in date error if required
  if ( datecount == 3 ) alertmsg += checkdate + '\n';       

  // alert user if anything's missing
  if ( alertmsg != '' )
    {
    alert(alertmsg);
    return false;
    }
  return true;  
}