
/**
 * ---------------------------------------------------------------------------------------
 * Globale Funktionen für CMS Formulare [tileDokumentTemp0Form.jsp]
 * (diese wird bei button onclick ausgeführt)
 * ---------------------------------------------------------------------------------------
 */

/** 
 * Prüft das entsprechende Formular Element.
 * Wenn value==leer ist, dann message anzeigen, element focus setzen und einen Fehler schmeißen
 */
function sendFormular(frmName, checkAll) 
{
    if(!document.forms[frmName]) 
    {
        alert("Formular nicht vorhanden Name=" + frmName);
    }
    
    var formRadioGroups = new Array();
    var formRadioGroupsIndex = new Array();
    var formRadioGroupsIndexZ = 0;
    var formElements = document.forms[frmName].elements;
    var checkAllMessage = "";
    
    var markElement = function(elem)
    {
        elem.setAttribute("backgroundColorOld", elem.style.backgroundColor);
        elem.style.backgroundColor = "#fc5c61";
        elem.focus();
    }

    for(var i=0; i < formElements.length; i++) 
    {
        if (!formElements[i].name) continue;
        if (formElements[i].getAttribute("checkMe") == null) continue;

        var message = "Bitte geben Sie in das Feld einen Wert ein.";
        if (formElements[i].getAttribute("checkMeldung") != null) 
        {
            message = formElements[i].getAttribute("checkMeldung");
        }

        if (formElements[i].getAttribute("backgroundColorOld") != null)
        {
            formElements[i].style.backgroundColor = formElements[i].getAttribute("backgroundColorOld");
        }

        var inhalt = formElements[i].value;
        if (formElements[i].getAttribute("checkMail") != null) 
        {
            if (formElements[i].value.indexOf("@")<0 || formElements[i].value.indexOf(".")<0) inhalt = "";
        }

        if (formElements[i].getAttribute("checkMail") != null) 
        {
            if (formElements[i].value.indexOf("@")<0 || formElements[i].value.indexOf(".")<0) inhalt = "";
        }

        if (formElements[i].type && formElements[i].type == 'radio') 
        {
            var xa = null;
            
            if (typeof formRadioGroupsIndex[formElements[i].name] == "undefined" || formRadioGroupsIndex[formElements[i].name] == null)
            {
                formRadioGroupsIndex[formElements[i].name] = ++formRadioGroupsIndexZ;
            }

            if (typeof formRadioGroups[formRadioGroupsIndexZ] == "undefined" || formRadioGroups[formRadioGroupsIndexZ] == null)
            {
                xa = new Array();
                formRadioGroups[formRadioGroupsIndexZ] = xa;
            }
            xa = formRadioGroups[formRadioGroupsIndexZ];
            xa[xa.length] = formElements[i];
            continue;
        }
        
        if(inhalt=="") 
        {
            markElement(formElements[i]);

            if (checkAll)
            {
                checkAllMessage += message + "\n";
            }
            else
            {
                alert(message);
                return;
            }
        }
    }
    
    for (var gi = 0; gi < formRadioGroups.length; gi++)
    {
        if (formRadioGroups[gi] != null)
        {
            var irg = 0;
            for (var irg = 0; irg < formRadioGroups[gi].length; irg++)
            {
                if (formRadioGroups[gi][irg].checked)
                {
                    break;
                }
            }

            if (irg > formRadioGroups[gi].length-1)
            {
                irg--;

                var message = "Bitte geben Sie in das Feld einen Wert ein.";
                if (formRadioGroups[gi][irg].getAttribute("checkMeldung") != null) 
                {
                    message = formRadioGroups[gi][irg].getAttribute("checkMeldung");
                }

                for (var mi=0; mi<=irg; mi++) {
                    markElement(formRadioGroups[gi][mi]);
                }

                if (checkAll)
                {
                    checkAllMessage += message + "\n";
                }
                else
                {
                    alert(message);
                    return;
                }
            }
        }
    }
    
    if (checkAll && checkAllMessage != "")
    {
        alert(checkAllMessage);
        return;
    }
    
    document.forms[frmName].submit();                   
}

/** 
 * Prüft das entsprechende Formular Element.
 * Wenn value==leer ist, dann message anzeigen, element focus setzen und einen Fehler schmeißen
 */
function pruefeFeld(frmName, elName, message) 
{
    if(document.forms[frmName].elements[elName].value=="") 
    {
        alert(message);
        document.forms[frmName].elements[elName].focus();
        throw message;
    }
}

/**
 * ---------------------------------------------------------------------------------------
 * Funktion für RollOvervorlage [tileDokumentTempErfi1.jsp]
 * ---------------------------------------------------------------------------------------
 */
var refreshTemplateReload = "xxx";

/** 
 * Template Funktionen.
 * @param anchor html object referenz
 */
function refreshTemplate(anchor)
{
    var i = 0;
    if (typeof anchor == "string")
    {
        if (refreshTemplateReload == null)
        {
            refreshTemplateReload = setTimeout("refreshTemplate('" + anchor + "')", 200);
            return;
        }
        if (refreshTemplateReload == "xxx")
        {
            refreshTemplateReload = null;
        }

        i = anchor;
    }
    else
    {
        if (refreshTemplateReload != null)
        {
            clearTimeout(refreshTemplateReload);
            refreshTemplateReload = null;
        }
        
        var s = anchor.href +"";
        i = s.substring(s.lastIndexOf("moa=lnk-") + 8, s.length);
    }
    
    var d = document.getElementById("dynrel-" + i);
    
    var dTitel = null;
    var dBild = null;
    var dText = null;
    
    for (var i=0; i<d.childNodes.length; i++)
    {
        if (d.childNodes[i].tagName && d.childNodes[i].tagName.toUpperCase() == "DIV")
        {
            if (dTitel == null) 
            {
                dTitel = d.childNodes[i];
            } 
            else if (dBild == null) 
            {
                dBild = d.childNodes[i];
            }
            else
            {
                dText = d.childNodes[i];
            }
        }
    }
    
    // Titel 
    try {
        document.getElementById("dynrelTitel").innerHTML = dTitel.innerHTML;
    } catch(e) { /*ignore*/ }

    // Bild
    try {
        document.getElementById("dynrelBild").innerHTML = dBild.innerHTML;
    } catch(e) { /*ignore*/ }

    // Text
    try {
        document.getElementById("dynrelText").innerHTML = dText.innerHTML;
    } catch(e) { /*ignore*/ }
}


/**
 * ---------------------------------------------------------------------------------------
 * Special ZSearch Funktion
 * ---------------------------------------------------------------------------------------
 */

function bzsearchActivateHeaderChilds(id)
{
    //alert(id);
}

/**
 * ---------------------------------------------------------------------------------------
 * Wrapped Tooltip Funktion (domtt-0.7.3)
 * ---------------------------------------------------------------------------------------
 */

var domTT_styleClass = 'domTTOverlib';
var domTT_oneOnly = true;

function showWMTT(obj, e, id, fade) 
{
    if (!document.getElementById(id))
    {
        return;
    }
    
    var oWidth = null;
    if (typeof document.getElementById(id).style != "undefined" && document.getElementById(id).style.width != "")
    {
        oWidth = document.getElementById(id).style.width;
    }
    
    if (typeof fade != "undefined" && fade)
    {
        if (oWidth != null)
        {
            domTT_activate(obj, e, 'content', document.getElementById(id).innerHTML, 'trail', true, 'fade', 'both', 'fadeMax', 100, 'width', oWidth, 'styleClass', 'niceTitle', 'x');
        }
        else
        {
            domTT_activate(obj, e, 'content', document.getElementById(id).innerHTML, 'trail', true, 'fade', 'both', 'fadeMax', 100, 'styleClass', 'niceTitle', 'x');
        }
    }
    else
    {
        if (oWidth != null)
        {
            domTT_activate(obj, e, 'content', document.getElementById(id).innerHTML, 'width', oWidth, 'styleClass', 'niceTitle', 'x');
        }
        else
        {
            domTT_activate(obj, e, 'content', document.getElementById(id).innerHTML, 'styleClass', 'niceTitle', 'x');
        }
    }
}

//-------------------------------------------------------------------------------
//ersetzt durch 'domtt-0.7.3'
//-------------------------------------------------------------------------------

wmtt = null;
wmttimes = null;
wmttimeh = null;
wmttimehWmtt = null;
wmttDefaultPadding = 20;
//document.onmousemove = updateWMTT;

function showWMTT_V1(obj, id) 
{
    showFast = false;
    
    // auto bind to obj... onMouseOut="hideWMTT()
      
    if (wmtt==document.getElementById(id) && wmtt.style.display == "block") 
    {
        showFast = true;
    }
      
    wmtt = document.getElementById(id);
      
    if (showFast) 
    {
        wmtt.style.display = "block";
        if (wmttimeh!=null) 
        {
            window.clearTimeout(wmttimeh);
        }
    } 
    else 
    {
        wmttimes = window.setTimeout("showWMTTAfter()", 500);
    }
}

function hideWMTT_V1() 
{
    wmttimehWmtt = wmtt;
    wmttimeh = window.setTimeout("hideWMTTAfter()", 10);

    if (wmttimes!=null) 
    {
        window.clearTimeout(wmttimes);
    }
}

/* protected */ function updateWMTT(e) {

  if (!window.event) return;
  
  //x = window.event.x + document.body.scrollLeft;
  //y = window.event.y + document.body.scrollTop;

  x = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX;
  y = (document.all) ? window.event.y + document.body.scrollTop  : e.pageY;

  if (wmtt != null) 
  {
      wmtt.style.left = (x + 20) + "px";
      wmtt.style.top  = (y + 20) + "px";

      return;
    
      var xw = wmtt.style.width;
      var w = xw.substring(0, xw.length-2);

      if (((x+20)+(w*1)) > window.document.body.clientWidth) 
      {
          status = "ew: " + (x+20)+w;
          x=x-w-20;
      }

      wmtt.style.left = (x + wmttDefaultPadding) + "px";
      wmtt.style.top  = (y + wmttDefaultPadding) + "px";
  }
}

/* private */ function showWMTTAfter() 
{
    wmtt.style.display = "block"
}

/* private */ function hideWMTTAfter() 
{
    wmttimehWmtt.style.display = "none"
}


/* Tootip Dynamisch, bishernicht verwendet. */ 

var wmttLoadDynamic = new Array();
var wmttLoadDynamicCounter = 0;

function loadWMTT(url) 
{
    if (typeof wmttLoadDynamic[url] == "undefined")
    {
        wmttLoadDynamic[url] = ++wmttLoadDynamicCounter;
    }
    
    var _id = "ttDynamicLoad_" + wmttLoadDynamic[url];
    
    var xmlHttp = AjaxConnection();
    if (xmlHttp) 
    {
        xmlHttp.open('GET', url + "&zz=" + (Math.random()), true);
        xmlHttp.onreadystatechange = function() {
          if (xmlHttp.readyState == 4) 
          {
              //div erzeugen
              var _div = document.createElement("<DIV id=\"" + _id + "\" class=\"tooltipAdmin\"></DIV>");
              document.appendChild(_div);
              _div.innerHTML = xmlHttp.responseText;
              
              showWMTT(_id);
          }
        };
        xmlHttp.send(null);
    }
}

/**
 * ---------------------------------------------------------------------------------------
 * MouseOver (Image Restore) Funktionen
 * ---------------------------------------------------------------------------------------
 */
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
    
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
  var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
  if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
    
function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
  d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
    
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
