var text_trace   = 'Enter Lot # Here';
var text_foyer   = 'Enter Lot # and Press Enter';
var text_name    = 'Name';
var text_email   = 'Email Address';
var text_message = 'Type your message here...';

restore_value = new Array();
restore_init = new Array();

function validate_form( form ) {
  var emailChar = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
  if ( form.contact_email.value.length < 1    ||
       form.contact_email.value == text_email ||
       form.contact_message.value.length < 1  ||
       form.contact_message.value == text_message )
  {
      alert( 'Please enter your email and a message at the very least. \n\nWe\'d love to know your name too, of course!' );
      return false;
  } else if ( ! ( form.contact_email.value.match( emailChar ) ) )
      {
      alert( 'Please enter a valid email address' );
      return false;
      }
  return true;
}

function fake() {
alert( 'fake!' );
}

function highlight(field) {
         field.focus();
         field.select();
}

function clears( elem, term ) {
         switch( term ) {
         case 'trace' :
              if( elem.value == text_trace ) {
                  elem.value = '';
              }
              break;
         case 'foyer' :
              if( elem.value == text_foyer ) {
                  elem.value = '';
              }
              break;
         case 'name' :
              if( elem.value == text_name ) {
                  elem.value = '';
              }
              break;
         case 'email' :
              if( elem.value == text_email ) {
                  elem.value = '';
              }
              break;
         case 'message' :
              if( elem.value == text_message ) {
                  elem.value = '';
              }
              break;
         }
}

function restores( elem, term ) {
         if( elem.value.length < 1 ) {
             switch( term ) {
             case 'trace' :
                      elem.value = 'Enter Lot # Here';
                  break;
             case 'foyer' :
                      elem.value = 'Enter Lot # and Press Enter';
                  break;
             case 'name' :
                      elem.value = 'Name';
                  break;
             case 'email' :
                      elem.value = 'Email Address';
                  break;
             case 'message' :
                      elem.value = 'Type your message here...';
                  break;
             }
         }
}

function toggleIt( e, i ) {
         var fText = 'foyer' + e + 'Text';
         var fDiv = 'foyer' + e + 'Div';
         switch( i ) {
                 case 0 :
                      document.getElementById( fText ).className += ' hidden';
                      var strDiv = document.getElementById( fDiv ).className;
                      strDiv = strDiv.replace( ' hidden', '' );
                      document.getElementById( fDiv ).className = strDiv;
                      break;
                 case 1 :
                      document.getElementById( fDiv ).className += ' hidden';
                      var strText = document.getElementById( fText ).className;
                      strText = strText.replace( ' hidden', '' );
                      document.getElementById( fText ).className = strText;
                      break;
                 case 2 :
                      var strDiv = document.getElementById( fDiv ).className;
                      strDiv = strDiv.replace( ' hidden', '' );
                      document.getElementById( fDiv ).className = strDiv;
                      break;
         }
}

function caption_width( ) {
         var captions = new Array();
         captions[0] = "caption_image_left";
         captions[1] = "caption_image_right";
         captions[2] = "caption_image_center";

         for( var i in captions ) {
              var caption_class = getElementsByClassName( document, "div", captions[i] );
              for( var j in caption_class ) {
                   var cap_class_img = caption_class[j].getElementsByTagName( 'img' );
                   var wid = cap_class_img[0].getAttribute( 'width' ) + 'px';
                   var cap_class_p = caption_class[j].getElementsByTagName( 'p' );
                   cap_class_p[0].style.width = wid;
                   caption_class[j].style.width = wid;
              }
         }
         document.getElementById( 'caption_container' ).style.display = "";
         document.getElementById( 'caption_loading' ).style.display = "none";
}

function getElementsByClassName(oElm, strTagName, strClassName){
  var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
  var arrReturnElements = new Array();
  strClassName = strClassName.replace(/\-/g, "\\-");
  var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
  var oElement;
  for(var i=0; i<arrElements.length; i++){
    oElement = arrElements[i];
    if(oRegExp.test(oElement.className)){
      arrReturnElements.push(oElement);
    }
  }
  return (arrReturnElements)
}

var clears =
{
  init:
  function( ) {
            var clear_me = Core.getElementsByClass( 'clear_me' );

            for( i=0; i<clear_me.length; i++ ) {
                 Core.addEventListener( clear_me[i], "focus", clears.clearListener );
                 Core.addEventListener( clear_me[i], "blur", clears.restoreListener );
            }
  },

  clearListener:
  function( event ) {
            clears.clear( this );
            Core.preventDefault( event );
  },

  restoreListener:
  function( event ) {
            clears.restore( this );
            Core.preventDefault( event );
  },

  clear:
  function( e ) {
            id = e.id;
            if( restore_init[id] == 1 ) {
                if( restore_value[id] == e.value) {
                    e.value = '';
                }
            } else {
                restore_value[id] = e.value;
                e.value = '';
                restore_init[id] = 1;
            }
  },

  restore:
  function( e ) {
            id = e.id;
            if( e.value.length < 1 ) {
                e.value = restore_value[id];
            }    
  }
};

Core.start( clears );


