//
//Funktionen zum Anpassen
//
function CustomizeFormFields(_form)
{
   var _flag = false;
   var _text = _form.getElementsByTagName("input");
   var _textarea = _form.getElementsByTagName("textarea");

   for (var i = 0; i < _text.length; i++)
   {
      if (_text[i].type == "text")
      {
         if (_text[i].lang)
         {
            CustomizeTxt(_text[i]);
            _flag = true;
         }
      }
      else if (_text[i].type == "password")
      {
         if (_text[i].lang)
         {
            CustomizePwd(_text[i]);
            _flag = true;
         }
      }
   }

   for (var i = 0; i < _textarea.length; i++)
   {
      if (_textarea[i].lang)
      {
         CustomizeTxt(_textarea[i]);
         _flag = true;
      }
   }
   return (_flag);

}

function CustomizeForms(_debug)
{
   var customizeForm = document.getElementsByTagName("form");
   if (customizeForm != null)
   {
      var oldSubmit = null;
      for (var j = 0; j < customizeForm.length; j++)
      {
         var _flag = CustomizeFormFields(customizeForm[j]);

         if(_flag)
         {
            customizeForm[j].realSubmit = customizeForm[j].submit;
            customizeForm[j].submit = function (evtSrc)
            {
               var _text = this.getElementsByTagName("input");
               var _textarea = this.getElementsByTagName("textarea");

               for (var i = 0; i < _text.length; i++)
               {
                  if (_text[i].type.toLowerCase() == "text")
                     if (_text[i].lang && _text[i].lang == _text[i].value)
                        _text[i].value = "";
               }

               for (var i = 0; i < _textarea.length; i++)
               {
                  if (_textarea[i].lang && _textarea[i].lang == _textarea[i].value)
                     _textarea[i].value = "";
               }

               var callSubmit = true;
               if (window.event && window.event.type == "submit")
                  callSubmit = false;
               else if (evtSrc && evtSrc.type && evtSrc.type == "submit")
                  callSubmit = false;

               if (callSubmit)
               {
                  if (!evtSrc || evtSrc())
                     return this.realSubmit();
               }
               else
               {
                  if (!oldSubmit)
                     return true;
                  if (!this.oldSubmit())
                     return false;
               }
            };

            oldSubmit = customizeForm[j].onsubmit;
            customizeForm[j].oldSubmit = oldSubmit;
            customizeForm[j].onsubmit = customizeForm[j].submit;
         }
      }
   }
}

function CustomizeTxt(field)
{
   if (field != null)
   {
      if (field.value == "")
      {
         field.value = field.lang;
         field.style.color = "#606060";
      }

      AddEvent(field, "focus", function(){ FieldFocus(field); });
      AddEvent(field, "blur", function(){ FieldBlur(field); });
   }
}

function CustomizePwd(field)
{
   if (field != null)
   {
      if(field.value == "")
         field.style.backgroundImage = "url(" + field.lang + ")";
      field.style.backgroundRepeat = "no-repeat";
      field.style.backgroundPosition = "6px 5px";

      AddEvent(field, "focus", function(){ FieldPwdFocus(field); });
      AddEvent(field, "blur", function(){ FieldPwdBlur(field); });
   }
}


//
//Events
//
function AddEvent(field, type, callback)
{
   if(field.attachEvent)
   {
      if(type == "focus")
         field.attachEvent("onfocus", callback);
      else if(type == "blur")
         field.attachEvent("onblur", callback);
      else if("submit")
         field.attachEvent("onsubmit", callback);
   }
   else if(field.addEventListener)
   {
      if(type == "focus")
         field.addEventListener("focus", callback, false);
      else if(type == "blur")
         field.addEventListener("blur", callback, false);
      else if("submit")
         field.addEventListener("submit", callback, false);
   }
   else
   {
      if(type == "focus")
         field.onfocus = callback;
      else if(type == "blur")
         field.onblur = callback;
   }
}

function FieldFocus(field)
{
   if(field.value == field.lang)
   {
      field.value = "";
      field.style.color = "#D6D6D6";
   }
}

function FieldBlur(field)
{
   if(field.value == "")
   {
      field.value = field.lang;
      field.style.color = "#606060";
   }
}


function FieldPwdFocus(field)
{
   field.style.backgroundImage = "";
   field.style.backgroundRepeat = "";
   field.style.backgroundPosition = "";
   field.style.color = "#D6D6D6";
}

function FieldPwdBlur(field)
{
   if(field.value == "")
   {
      field.style.backgroundImage = "url(" + field.lang + ")";
      field.style.backgroundRepeat = "no-repeat";
      field.style.backgroundPosition = "6px center";
      field.style.color = "#606060";
   }
}
