//------------------------------------------------
function TQMultiselectFilter(that,p_strMultipleField,p_strTargetField) {
//------------------------------------------------
  l_objLeftBox  = document.getElementById("left_"+p_strMultipleField);
  l_objRightBox = document.getElementById("right_"+p_strMultipleField);
  if (typeof l_objLeftBox  != "object") return false;
  if (typeof l_objRightBox != "object") return false;
  l_arrSelected  = document.getElementById(p_strTargetField).value.split('|');
  l_objAvailable = document.getElementById('hidden_'+p_strTargetField)

  while ( l_objLeftBox.options[0] != null ) {
    l_objLeftBox.options[l_objLeftBox.options.length-1] = null;
  }

  l_strSearch = that.value;

  l_strSearch = l_strSearch.replace(/\\/gi,"\\\\");
  l_strSearch = l_strSearch.replace(/\./gi,"\\.");
  l_strSearch = l_strSearch.replace(/\*/gi,"\\*");
  l_strSearch = l_strSearch.replace(/\+/gi,"\\+");
  l_strSearch = l_strSearch.replace(/\?/gi,"\\?");
  l_strSearch = l_strSearch.replace(/\//gi,"\\/");
  l_strSearch = l_strSearch.replace(/\[/gi,"\\[");
  l_strSearch = l_strSearch.replace(/\]/gi,"\\]");
  l_strSearch = l_strSearch.replace(/\{/gi,"\\{");
  l_strSearch = l_strSearch.replace(/\}/gi,"\\}");
  l_strSearch = l_strSearch.replace(/\(/gi,"\\(");
  l_strSearch = l_strSearch.replace(/\)/gi,"\\)");

  if ( l_strSearch == "" ) l_strSearch = ".";

  l_RX = eval("/"+l_strSearch+"/i");

  for ( var i=0; i < l_objAvailable.options.length; i++ ) {
    l_objAvailable.options[i].setAttribute("isSelected", "false");
  }

  if ( l_arrSelected.length > 0 ) {
    while ( l_strEntry = l_arrSelected.shift() ) {
      for ( var i=0; i < l_objAvailable.options.length; i++ ) {
        if ( l_objAvailable.options[i].value == l_strEntry ) {
          l_objAvailable.options[i].setAttribute("isSelected", "true");
        }
      }
    }
  }

  for ( var i=0; i < l_objAvailable.options.length; i++ ) {
    if ( l_objAvailable.options[i].getAttribute("isSelected") != "true" ) {
      if ( l_RX.test(l_objAvailable.options[i].text) ) {
        l_objLeftBox.options[l_objLeftBox.options.length] = new Option(l_objAvailable.options[i].text,l_objAvailable.options[i].value);
      }
    }
  }
}


//----------------------------------------------------------------------------
function SelectArea() {
//----------------------------------------------------------------------------
// public properties
this.SelectId  = "";
this.DivButtonId   = "";
this.DivTitleId    = "";
this.ImgButtonId   = "";
this.TitleMinimize = "";
this.TitleMaximize = "";
this.MinHeight     = 0;
this.MaxHeight     = 0;
this.Status        = false;
this.Light         = false;

// public methods
this.Resize       = SelectAreaResize;
this.Minimize     = SelectAreaMinimize;
this.Maximize     = SelectAreaMaximize;
this.SwitchStyle  = SelectAreaSwitchStyle;
this.DarkStyle    = SelectAreaDarkStyle;
this.LightStyle   = SelectAreaLightStyle;
// private properties

// private methods
}

//----------------------------------------------------------------------------
function SelectAreaResize() {
//----------------------------------------------------------------------------
(this.Status) ? this.Minimize()
              : this.Maximize();
}

//----------------------------------------------------------------------------
function SelectAreaMinimize() {
//----------------------------------------------------------------------------
this.Status = false;
document.getElementById(this.SelectId).size = this.MinHeight;
document.getElementById(this.ImgButtonId).title = this.TitleMaximize;
(this.Light) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_down.gif'
            : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_down.gif';
}

//----------------------------------------------------------------------------
function SelectAreaMaximize() {
//----------------------------------------------------------------------------
this.Status = true;
document.getElementById(this.SelectId).size = this.MaxHeight;
document.getElementById(this.ImgButtonId).title = this.TitleMinimize;
(this.Light) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_up.gif'
            : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_up.gif';
}

//----------------------------------------------------------------------------
function SelectAreaSwitchStyle() {
//----------------------------------------------------------------------------
(this.Light) ? this.DarkStyle()
            : this.LightStyle();
}

//----------------------------------------------------------------------------
function SelectAreaDarkStyle() {
//----------------------------------------------------------------------------
this.Light = false;
document.getElementById(this.DivButtonId).className ='TQtableSubtitle';
document.getElementById(this.DivTitleId).className='TQtableSubtitle';
(this.Status) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_up.gif'
              : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_down.gif';
}

//----------------------------------------------------------------------------
function SelectAreaLightStyle() {
//----------------------------------------------------------------------------
this.Light = true;
document.getElementById(this.DivButtonId).className='TQtableSubtitleLight';
document.getElementById(this.DivTitleId).className='TQtableSubtitleLight';
(this.Status) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_up.gif'
              : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_down.gif';
}

//----------------------------------------------------------------------------
function TextArea() {
//----------------------------------------------------------------------------
// public properties
this.TxtContentId  = "";
this.DivButtonId   = "";
this.DivTitleId    = "";
this.ImgButtonId   = "";
this.TitleMinimize = "";
this.TitleMaximize = "";
this.MinHeight     = 0;
this.MaxHeight     = 0;
this.Status        = false;
this.Light         = false;

// public methods
this.Resize       = TextAreaResize;
this.Minimize     = TextAreaMinimize;
this.Maximize     = TextAreaMaximize;
this.SwitchStyle  = TextAreaSwitchStyle;
this.DarkStyle    = TextAreaDarkStyle;
this.LightStyle   = TextAreaLightStyle;
// private properties

// private methods
}

//----------------------------------------------------------------------------
function TextAreaResize() {
//----------------------------------------------------------------------------
(this.Status) ? this.Minimize()
              : this.Maximize();
}

//----------------------------------------------------------------------------
function TextAreaMinimize() {
//----------------------------------------------------------------------------
this.Status = false;
document.getElementById(this.TxtContentId).rows = this.MinHeight;
document.getElementById(this.ImgButtonId).title = this.TitleMaximize;
(this.Light) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_down.gif'
            : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_down.gif';
}

//----------------------------------------------------------------------------
function TextAreaMaximize() {
//----------------------------------------------------------------------------
this.Status = true;
document.getElementById(this.TxtContentId).rows = this.MaxHeight;
document.getElementById(this.ImgButtonId).title = this.TitleMinimize;
(this.Light) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_up.gif'
            : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_up.gif';
}

//----------------------------------------------------------------------------
function TextAreaSwitchStyle() {
//----------------------------------------------------------------------------
(this.Light) ? this.DarkStyle()
            : this.LightStyle();
}

//----------------------------------------------------------------------------
function TextAreaDarkStyle() {
//----------------------------------------------------------------------------
this.Light = false;
document.getElementById(this.DivButtonId).className ='TQtableSubtitle';
document.getElementById(this.DivTitleId).className='TQtableSubtitle';
(this.Status) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_up.gif'
              : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_down.gif';
}

//----------------------------------------------------------------------------
function TextAreaLightStyle() {
//----------------------------------------------------------------------------
this.Light = true;
document.getElementById(this.DivButtonId).className='TQtableSubtitleLight';
document.getElementById(this.DivTitleId).className='TQtableSubtitleLight';
(this.Status) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_up.gif'
              : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_down.gif';
}

//----------------------------------------------------------------------------
function FoldArea() {
//----------------------------------------------------------------------------
// public properties
this.DivContentId  = "";
this.DivButtonId   = "";
this.DivTitleId    = "";
this.ImgButtonId   = "";
this.TitleMinimize = "";
this.TitleMaximize = "";
this.Status        = false;
this.Light         = false;
// public methods
this.Resize       = FoldAreaResize;
this.Minimize     = FoldAreaMinimize;
this.Maximize     = FoldAreaMaximize;
this.SwitchStyle  = FoldAreaSwitchStyle;
this.DarkStyle    = FoldAreaDarkStyle;
this.LightStyle   = FoldAreaLightStyle;
// private properties

// private methods

}

//----------------------------------------------------------------------------
function FoldAreaResize() {
//----------------------------------------------------------------------------
(this.Status) ? this.Minimize()
              : this.Maximize();
}

//----------------------------------------------------------------------------
function FoldAreaMinimize() {
//----------------------------------------------------------------------------
this.Status = false;
document.getElementById(this.DivContentId).style.display='none';
if (document.getElementById(this.ImgButtonId)){
document.getElementById(this.ImgButtonId).title = this.TitleMaximize;
(this.Light) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_down.gif'
            : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_down.gif';
}
}

//----------------------------------------------------------------------------
function FoldAreaMaximize() {
//----------------------------------------------------------------------------
this.Status = true;
document.getElementById(this.DivContentId).style.display='block';
if (document.getElementById(this.ImgButtonId)){
document.getElementById(this.ImgButtonId).title = this.TitleMinimize;


(this.Light) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_up.gif'
            : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_up.gif';
}
}

//----------------------------------------------------------------------------
function FoldAreaSwitchStyle() {
//----------------------------------------------------------------------------
(this.Light) ? this.DarkStyle()
            : this.LightStyle();
}

//----------------------------------------------------------------------------
function FoldAreaDarkStyle() {
//----------------------------------------------------------------------------
this.Light = false;
document.getElementById(this.DivButtonId).className ='TQtableSubtitle';
document.getElementById(this.DivTitleId).className='TQtableSubtitle';
(this.Status) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_up.gif'
              : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_down.gif';
}

//----------------------------------------------------------------------------
function FoldAreaLightStyle() {
//----------------------------------------------------------------------------
this.Light = true;
document.getElementById(this.DivButtonId).className='TQtableSubtitleLight';
document.getElementById(this.DivTitleId).className='TQtableSubtitleLight';
(this.Status) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_up.gif'
              : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_down.gif';
}

//----------------------------------------------------------------------------
function ShowArea() {
//----------------------------------------------------------------------------
// public properties
this.DivContentId  = "";
this.DivButtonId   = "";
this.DivTitleId    = "";
this.ImgButtonId   = "";
this.TitleMinimize = "";
this.TitleMaximize = "";
this.MinHeight     = 0;
this.MaxHeight     = 0;
this.Status        = false;
this.Light         = false;
// public methods
this.Resize       = ShowAreaResize;
this.Minimize     = ShowAreaMinimize;
this.Maximize     = ShowAreaMaximize;
this.SwitchStyle  = ShowAreaSwitchStyle;
this.DarkStyle    = ShowAreaDarkStyle;
this.LightStyle   = ShowAreaLightStyle;
// private properties

// private methods

}

//----------------------------------------------------------------------------
function ShowAreaResize() {
//----------------------------------------------------------------------------
(this.Status) ? this.Minimize()
              : this.Maximize();
}

//----------------------------------------------------------------------------
function ShowAreaMinimize() {
//----------------------------------------------------------------------------
this.Status = false;
document.getElementById(this.DivContentId).style.height=this.MinHeight;
document.getElementById(this.ImgButtonId).title = this.TitleMaximize;
(this.Light) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_down.gif'
            : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_down.gif';
}

//----------------------------------------------------------------------------
function ShowAreaMaximize() {
//----------------------------------------------------------------------------
this.Status = true;
document.getElementById(this.DivContentId).style.height=this.MaxHeight;
document.getElementById(this.ImgButtonId).title = this.TitleMinimize;
(this.Light) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_up.gif'
            : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_up.gif';
}

//----------------------------------------------------------------------------
function ShowAreaSwitchStyle() {
//----------------------------------------------------------------------------
(this.Light) ? this.DarkStyle()
            : this.LightStyle();
}

//----------------------------------------------------------------------------
function ShowAreaDarkStyle() {
//----------------------------------------------------------------------------
this.Light = false;
document.getElementById(this.DivButtonId).className ='TQtableSubtitle';
document.getElementById(this.DivTitleId).className='TQtableSubtitle';
(this.Status) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_up.gif'
              : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/white_down.gif';
}

//----------------------------------------------------------------------------
function ShowAreaLightStyle() {
//----------------------------------------------------------------------------
this.Light = true;
document.getElementById(this.DivButtonId).className='TQtableSubtitleLight';
document.getElementById(this.DivTitleId).className='TQtableSubtitleLight';
(this.Status) ? document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_up.gif'
              : document.getElementById(this.ImgButtonId).src = '../../../images/sdk/apptqstyle/black_down.gif';
}

//----------------------------------------------------------------------------
function GetJSCookie(p_strVariable) { // 20092002.rv
//----------------------------------------------------------------------------
  if (document.cookie) {
    if (document.cookie.indexOf(p_strVariable) == -1) { return false; }
    var l_lValueStart = document.cookie.indexOf(p_strVariable+"=")+p_strVariable.length+1;
    var l_lValueEnd   = l_lValueStart+document.cookie.substr(l_lValueStart,document.cookie.length).indexOf(";");
    var l_strValue    = document.cookie.substr(l_lValueStart,(l_lValueEnd-l_lValueStart));
    return l_strValue;
  } else {
    return false;
  }
}

//----------------------------------------------------------------------------
function SetJSCookie(p_strVariable,p_strValue,p_lMsec) { // 25052005.rv
//----------------------------------------------------------------------------
  if (navigator.cookieEnabled == true) {
    if ( p_strValue.length == 0 ) return DeleteJSCookie(p_strVariable); 
    var l_dtNow     = new Date();
    var l_lMsec = 1000*60*60*24*61;
    if ( SetJSCookie.arguments.length == 3 ) l_lMsec = p_lMsec;
    var l_dtExpires = new Date(l_dtNow.getTime() + l_lMsec);
    document.cookie = p_strVariable+"="+p_strValue+";"+" expires="+l_dtExpires.toGMTString();
    return true;
  } else {
    return false; 
  }
}

//----------------------------------------------------------------------------
function DeleteJSCookie(p_strVariable) { // 25052005.rv
//----------------------------------------------------------------------------
  if (navigator.cookieEnabled == true) {
    var l_dtNow     = new Date();
    var l_dtExpires = new Date(l_dtNow.getTime() -1);
    document.cookie = p_strVariable+"=null; expires="+l_dtExpires.toGMTString();
    return true;
  } else {
    return false; 
  }
}

//----------------------------------------------------------------------------
function showhover(event,p_strHover) {
//----------------------------------------------------------------------------
  if ( window.event ) { event = window.event; }
  if ( ! document.getElementById(p_strHover) )
    return false;
  objHover = document.getElementById(p_strHover);
  objHover.style.display = "block";
  objHover.style.top = event.clientY;
  objHover.style.left = event.clientX;
}

//----------------------------------------------------------------------------
function hidehover(p_strHover) {
//----------------------------------------------------------------------------
  if ( ! document.getElementById(p_strHover) )
    return false;
  objHover = document.getElementById(p_strHover);
  objHover.style.display = "none";
}

//----------------------------------------------------
function ParseQueryString() { // 21.02.2003.ul
//----------------------------------------------------
var p_objQuery = new Object();
var p_strQuery = location.search.substring(1);
var p_arrQuery = p_strQuery.split("&");
var p_arrPair = [];
for (var i = 0; i < p_arrQuery.length; i++)
  {
  p_arrPair = p_arrQuery[i].split("=");
  if (p_arrPair.length == 2)
    {
    p_objQuery[unescape(p_arrPair[0])] = unescape(p_arrPair[1]);
    }
  }
return p_objQuery; // querystringobjekt
}

//----------------------------------------------------
function ActivateReminderDropdown(p_bChecked, p_strFieldName, p_lngStartIndex) {
//----------------------------------------------------
var l_objDropdown = window.document.getElementById(p_strFieldName +'_Dropdown');
var l_objField    = window.document.getElementById(p_strFieldName);
if (p_bChecked)
  {
  l_objDropdown.disabled = "";
  l_objDropdown.selectedIndex  = p_lngStartIndex;
  l_objField.value = l_objDropdown.value;
  }
else
  {
  l_objDropdown.selectedIndex  = 0;
  l_objDropdown.disabled = "disabled";
  l_objField.value = -1;
  }
}

//----------------------------------------------------
function CheckAddressReference(p_strField, p_strFieldPreview, p_strFieldSingleMode) {
//----------------------------------------------------
var l_objField        = eval('document.forms[0].' + p_strField);
var l_objPreviewField = eval('document.forms[0].' + p_strFieldPreview);
if (l_objField.value != "-1" && l_objField.value != "-1|-1" && l_objField.value != "")
  {
  l_bConfirm = confirm("Wollen Sie den gewählten Kontakt zurücksetzen und freie Eingabe verwenden ?");
  if(l_bConfirm)
    {
    l_objPreviewField.value = "";
    if (p_strFieldSingleMode)
      {
      l_objField.value = "-1";
      eval('document.forms[0].' + p_strFieldSingleMode + '.value = -1');
      }
    else
      {
      l_objField.value = "-1|-1";
      }
    }
  else
    {
    skipWriteProtectedElement(p_strFieldPreview);
    }
  }
}

//----------------------------------------------------------------------------------------
function TabMouseover(p_lngTabRowID, p_lngTabID, p_bOver) {
//----------------------------------------------------------------------------------------
var l_strLeftImgSrc  = eval("window.document.getElementById('tl_" + p_lngTabRowID + "_" + p_lngTabID + "').src.toLowerCase();");
var l_strCenterSrc   = eval("window.document.getElementById('tc_" + p_lngTabRowID + "_" + p_lngTabID + "').style.backgroundImage;");
var l_strRightImgSrc = eval("window.document.getElementById('tr_" + p_lngTabRowID + "_" + p_lngTabID + "').src.toLowerCase();");

if(p_bOver) {
  l_strLeftImgSrc = l_strLeftImgSrc.replace("_a.gif","_b.gif");
  l_strRightImgSrc = l_strRightImgSrc.replace("_a.gif","_b.gif");
  l_strCenterSrc = l_strCenterSrc.replace("_a.gif","_b.gif");
  } else {
  l_strLeftImgSrc = l_strLeftImgSrc.replace("_b.gif","_a.gif");
  l_strRightImgSrc = l_strRightImgSrc.replace("_b.gif","_a.gif");
  l_strCenterSrc = l_strCenterSrc.replace("_b.gif","_a.gif");
  }
eval("window.document.getElementById('tl_" + p_lngTabRowID + "_" + p_lngTabID + "').src = '" + l_strLeftImgSrc + "';");
eval("window.document.getElementById('tr_" + p_lngTabRowID + "_" + p_lngTabID + "').src = '" + l_strRightImgSrc + "';");
eval("window.document.getElementById('tc_" + p_lngTabRowID + "_" + p_lngTabID + "').style.backgroundImage = '" + l_strCenterSrc + "';");
}

//----------------------------------------------------
function ResizeShowArea(p_imgObj) {
//----------------------------------------------------
var strSrc = p_imgObj.src;
var p_arrID = p_imgObj.id.split(",");
p_lminsize    = parseInt(document.getElementById("DID," + p_arrID[1]).minsize);
p_lmaxsize    = parseInt(document.getElementById("DID," + p_arrID[1]).maxsize);
p_lstepsize   = parseInt(document.getElementById("DID," + p_arrID[1]).stepsize);
p_lactualsize = parseInt(document.getElementById("DID," + p_arrID[1]).style.height.substr(0,document.getElementById("DID," + p_arrID[1]).style.height.length-2));

if(p_lstepsize==0)
  {
  if(strSrc.indexOf("01_b.gif") > -1 || strSrc.indexOf("01_a.gif") > -1)
    {
    strSrc = strSrc.replace(/01_b./,"02_a.");
    strSrc = strSrc.replace(/01_a./,"02_a.");
    document.getElementById("DID," + p_arrID[1]).style.height = p_lmaxsize;
    }
  else
    {
    strSrc = strSrc.replace(/02_b./,"01_a.");
    strSrc = strSrc.replace(/02_a./,"01_a.");
    document.getElementById("DID," + p_arrID[1]).style.height = p_lminsize;
    }
  p_imgObj.src=strSrc;
  }
else
  {
  switch(p_arrID[2])
    {
    case "more":
      p_lactualsize = p_lactualsize + p_lstepsize;
    break;
    case "less":
      if(p_lactualsize - p_lstepsize >= p_lminsize)
        {p_lactualsize = p_lactualsize - p_lstepsize;}
      else
        {p_lactualsize = p_lminsize;}
    break;
    }
  document.getElementById("DID," + p_arrID[1]).style.height = p_lactualsize;
  }
}

//----------------------------------------------------
function MultiInputFocus(p_strField) {
//----------------------------------------------------
// 10.10.2003.rv
//----------------------------------------------------
  var l_objDropdown = document.getElementById('multiput_'+p_strField).options;
  var l_strValue    = document.getElementById(p_strField).value;
  if ( l_strValue.length > 0 ) {
    for ( var i=0; i < l_objDropdown.length; i++ ) {
      if ( l_strValue.toLowerCase() == l_objDropdown[i].text.substring(0,l_strValue.length).toLowerCase() ) {
        l_objDropdown.selectedIndex = i;
        return true;
      }
    }
  }
  l_objDropdown.selectedIndex = -1;
  return true;
}

var g_CancelFormsFriendlyName = false;

//-----------------------------------------------------
function DyeRow(p_lLid,p_lDRId,p_colActiveRowColor,p_strValue) {
//-----------------------------------------------------
// 14.02.2003.ul
//-----------------------------------------------------
var p_objRow=document.getElementById('colorbox_' + p_lLid + '_' + p_lDRId).parentNode.parentNode.parentNode;
if (p_colActiveRowColor.toLowerCase() != p_objRow.getAttribute('bgcolor','false').toLowerCase())
  {
  p_objRow.setAttribute('bgcolor',p_strValue,false);
  }
}

//----------------------------------------------------
function GetAddresspickerWindow(p_strFieldname, p_strFieldnameSingleMode, p_strFieldnamePreview, p_lngSelectorMode, p_strUrl) { // 09122002.ul
//----------------------------------------------------
  var l_strUrl = p_strUrl + "?rq_strFieldname=" + p_strFieldname + "&rq_strFieldnamePreview=" + p_strFieldnamePreview;
  if(p_strFieldnameSingleMode)
    {l_strUrl = l_strUrl + "&rq_strFieldnameSingleMode=" + p_strFieldnameSingleMode;}
  if (p_lngSelectorMode) {
    if(p_strFieldnameSingleMode)
      {l_strUrl += "&rq_strContacts="+HexEncodeString(eval('window.document.forms[0].' + p_strFieldname + '.value') + '|' + eval('window.document.forms[0].' + p_strFieldnameSingleMode + '.value'));}
    else
      {l_strUrl += "&rq_strContacts="+HexEncodeString(eval('window.document.forms[0].' + p_strFieldname + '.value'));}
    l_strUrl += "&rq_lngSelectorMode="+p_lngSelectorMode;
    loadPopup(l_strUrl);
  }
}

//----------------------------------------------------
function GetColorWindow(p_strPreviewFieldname,p_strOldcolor,p_bhash,p_strType) { // 09122002.ul
//----------------------------------------------------
  var l_lngPopupX;
  var l_lngPopupY;
  l_lngPopupX = Math.round(screen.width/3);
  l_lngPopupY = Math.round(screen.height/3);
  if (IE4)
    {
    l_lngPopupX = (window.event.screenX+10);
    l_lngPopupY = (window.event.screenY+10);
    }
  if (!p_bhash) {
    p_bhash = true;
  }
  p_strOldcolor = HexEncodeString(p_strOldcolor);
  if (parent && parent.UpAppNav) {
    parent.UpAppNav.wndPrint = window.open('../../../_upInclude/scriptEx/Colorselect.htm?rq_strOldcolor=' + p_strOldcolor + '&rq_strPreviewFieldname=' + p_strPreviewFieldname + '&rq_bhash=' + p_bhash,'wndPrint','width=232, height=165, resizable=NO, help=NO, status=NO, scroll=NO, scrollbars=NO, status=no, toolbar=NO, left=' + l_lngPopupX + ', top='+ l_lngPopupY);
  }
}

//----------------------------------------------
function GetSaveStatusText(oUrl, pstrAlterText) {
//----------------------------------------------
//Sie diesen Hyperlink an, leiten wir Sie zu einem anderen Internetangebot weiter
var l_strCompare = oUrl.href.toLowerCase()
var l_strLocaLDomain = document.domain.toLowerCase()
  if (l_strCompare.indexOf(l_strLocaLDomain)==-1) {
      return g_strSaveOverStatusText
  } else {
      if (pstrAlterText.length>0) {
          return pstrAlterText
      } else {
          return g_strDefaultOverStatusText
      }
  }
}
//--------------------------------------------------
function OpenWindow(p_strFileName,p_lStartWidth, p_lStartHeight,pX, pY) {
//--------------------------------------------------
  var l_strFilePath = window.location.pathname.toLowerCase();
  var lPosX = l_strFilePath.indexOf('upapplication'),l_strRelPath='../';
  if (lPosX==-1)
    l_strRelPath='';
  var strDummy = l_strRelPath+ '../../_UpInclude/scriptEx/blank.htm';
  var x=0,y=0,l_lTimeOut = 100;
  var xD=1,xF=0,xT=1,xDir=1,xHis=1,xLo=1,xS=1,xSc=1,xMno=1,xRes=1;
  var winName = "UpPopup"
  if (pX!=null && parseInt(pX, 10)>-1) {
    x=pX
  }
  if (pY!=null && parseInt(pY, 10)>-1) {
    y=pY
  }
  if (OpenWindow.arguments.length>5) {
    var l_lWinMode = OpenWindow.arguments[5]
    switch (parseInt(l_lWinMode, 10)) {
      case -1:
        break
      case 0:
        xT=0,xDir=0,xLo=0,xS=0,xMno=0;
        break;
      case 1:
        xT=0,xDir=0,xLo=0,xS=0;
        break;
      case 2:
        xT=0,xDir=0,xLo=0,xS=0,xRes=0,xMno=0;
        break;
      case 3:
        xD=0,xF=0,xT=0,xDir=0,xLo=0,xS=0,xSc=0,xMno=0,xRes=0;
        break;
      case 4:
        xD=0,xF=0,xT=0,xDir=0,xLo=0,xMno=0;
        break;
      case 5:
        //PDF default mit Toolbar und Menü
        xD=0,xF=0,xDir=0,xLo=0;
      case 6:
        //Fullsize Mode
        xD=1,xF=1,xT=1,xDir=1,xHis=1,xLo=1,xS=1,xSc=1,xMno=1,xRes=1;
        break;
    }
  }
  if (OpenWindow.arguments.length>6) {
    winName = OpenWindow.arguments[6]
  }
  var WinView = "dependent="+xD+","
              + "fullscreen="+xF+","
              + "toolbar="+xT+","
              + "directories="+xDir+","
              + "history="+xHis+","
              + "location="+xLo+","
              + "status="+xS+","
              + "menubar="+xMno+","
              + "resizable="+xRes+","
              + "scrollbars="+xSc+","
              + "width="+parseInt(p_lStartWidth, 10)+","
              + "height="+parseInt(p_lStartHeight, 10)+","
              + "left="+x+","
              + "top="+y+";"

  newWin = window.open(strDummy,winName,WinView);

  if ( newWin==null || newWin.closed || newWin=="" ) {
      l_lTimeOut = 1000;
  }

  window.setTimeout("newWin.resizeTo("+p_lStartWidth+","+p_lStartHeight+")",1);
  if (xF==1) {
    window.setTimeout("newWin.moveTo("+(window.screenLeft+x)+","+(window.screenTop+x)+")",1);
  }
  window.setTimeout("newWin.focus()",l_lTimeOut+100);
  window.setTimeout("newWin.location.href='"+ p_strFileName +"'",l_lTimeOut+200);
}

//----------------------------------------------------------------------------------------
function RequeryDropDown(pEventItem, pRequeryItemName, pstrTable, pstrField, pstrWhere, pstrSortOrder, plFirstEmpty) {
//----------------------------------------------------------------------------------------
  if (top.name=="wndInsert") {
    alert('Funktion nicht verfügbar');
    return;
  }
  if(!parent || parent.UpAppMain==null) {
    return
  }
  var oTF = eval('document.forms[0].'+pEventItem);

    if (oTF && oTF.options && oTF.options.length > 0 && oTF.selectedIndex > -1 ) {
      var l_lid = oTF[oTF.selectedIndex].value;
      var l_strPageToOpen='../../../_UpInclude/scriptEx/TQRequeryDropDown.asp?'
                          + 'rq_lid=' + l_lid
                          + '&rq_strTable=' + pstrTable
                          + '&rq_strField=' + pstrField
                          + '&rq_strWhere=' + pstrWhere
                          + '&rq_strSortOrder=' + pstrSortOrder
                          + '&rq_strTarget=' + pRequeryItemName
                          + '&rq_lFirstEmpty=' + plFirstEmpty;
      parent.UpAppTransfer.location.href=l_strPageToOpen;
    }
  return;
}

//--------------------------------------------------
function ResetDropDown(oEvent, pstrDropDownName, pstrInfoText) {
//--------------------------------------------------
// 12.11.2002.yr
  if (parseInt(oEvent[oEvent.selectedIndex].value, 10)>-1)
    return
  var oFld = eval('document.forms[0].'+pstrDropDownName);
  l_strInfoText = pstrInfoText;
  if (l_strInfoText.length==0) {
    l_strInfoText = pstrInfoText
  }
  oFld.length=1;
  oFld.options[0].value = -1;
  oFld.options[0].text = l_strInfoText;
}

//----------------------------------------------------------------------------------------
function RequeryDropDownSelect(pEventItem, pRequeryItemName, pstrSelect, pstrWhere, pstrSortOrder, pstrType, pstrField, plFirstEmpty, pstrColorField) {
//----------------------------------------------------------------------------------------
  if (top.name=="wndInsert") {
    alert('Funktion nicht verfügbar');
    return;
  }
  if(!parent || parent.UpAppMain==null) {
    return
  }
  var oTF,l_lid,ii=0;
  if (pEventItem.indexOf("||") != -1) {
    var arrTmp = pEventItem.split("||")
    oTF = eval('document.forms[0].' + arrTmp[0]);
    if (oTF && oTF.options && oTF.options.length > 0 && oTF.selectedIndex > -1 ) {
      l_lid = oTF[oTF.selectedIndex].value;
      ii=1;
    }
    for (i=1;i<arrTmp.length;i++) {
      oTF = eval('document.forms[0].' + arrTmp[i]);
      if (oTF && oTF.options && oTF.options.length > 0 && oTF.selectedIndex > -1 ) {
        l_lid = l_lid + "||" + oTF[oTF.selectedIndex].value;
        ii++;
      }
    }
  } else {
    oTF = eval('window.document.forms[0].' + pEventItem);
    if (oTF && oTF.options && oTF.options.length > 0 && oTF.selectedIndex > -1 ) {
      l_lid = oTF[oTF.selectedIndex].value;
      ii=1;
    }
  }
    if (ii > 0 ) {
      var l_strPageToOpen='../../../_UpInclude/scriptEx/TQRequeryDropDownSelect.asp?'
                          + 'rq_lid=' + l_lid
                          + '&rq_strSelect=' + pstrSelect
                          + '&rq_strWhere=' + pstrWhere
                          + '&rq_strSortOrder=' + pstrSortOrder
                          + '&rq_strType=' + pstrType
                          + '&rq_strField=' + pstrField
                          + '&rq_strTarget=' + pRequeryItemName
                          + '&rq_lFirstEmpty=' + plFirstEmpty
                          + '&rq_strColor=' + pstrColorField;
      parent.UpAppTransfer.location.href=l_strPageToOpen;
    }
  return
}

//-----------------------------------------------------------
function ResetOptionalValue(p_fldObjFrom, p_fldObjOptionalValue,p_fldObjDefaultValue) {
//-----------------------------------------------------------
  if (p_fldObjFrom.value.length==0) {
    p_fldObjFrom.value = p_fldObjDefaultValue;
  } else {
    if (p_fldObjFrom.value==p_fldObjOptionalValue) {
      p_fldObjFrom.value = p_fldObjDefaultValue;
    }
  }
}

//-----------------------------------------------------------
function SetDefaultValue(p_fldObjFrom, p_fldObjDefaultValue) {
//-----------------------------------------------------------
  if (p_fldObjFrom.value.length==0) {
    p_fldObjFrom.value = p_fldObjDefaultValue;
  }
}

//--------------------------------------------------
function SetDropDownSize() {
//--------------------------------------------------
  var arg=arguments,i=0;
  var oEvent  = arg[0];
  var iMin    = arg[2];
  var iMax    = arg[3];
  var sType   = 'size';
  if (arg[4] == 'textarea')
        sType = 'rows';
  var aT = new Array();
  aT  = arg[1].split('|');
  for (i=0;i<aT.length;i++) {
    aT[i] = document.getElementById(aT[i]);
  }
  var iH = parseInt(eval('aT[0].'+sType), 10);
  if (arg.length>4)
    var currSize=document.getElementById(arg[5]);
  if (iH==parseInt(iMin, 10)) {
      if (currSize)
        currSize.value="True";
      for (i=0;i<aT.length;i++) {
        eval('aT['+i+'].'+sType+'='+parseInt(iMax, 10));
      }
      swapimg(oEvent,'01_','02_','pointer');
  } else {
      if (currSize)
        currSize.value="False";
      for (i=0;i<aT.length;i++) {
        eval('aT['+i+'].'+sType+'='+parseInt(iMin, 10));
      }
      swapimg(oEvent,'02_','01_','pointer');
  }
  aT[0].focus();
}

//--------------------------------------------------
function SetFormsFriendlyName() {
//--------------------------------------------------
  if (g_strAppName.length > 1 && g_strFriendlyTitle.length > 1) {
    SetAppTop(g_strAppName, g_strFriendlyTitle);
  }
}

//-----------------------------------------------------------
function SetNewValue(p_fldObjFrom, p_fldObjNewValue, p_strValuePart) {
//-----------------------------------------------------------
  var l_strNewValue = '"'+p_fldObjFrom.value+p_strValuePart+'"';
  l_strNewValue=l_strNewValue.toLowerCase();
  eval("document.__UpForm." + p_fldObjNewValue + ".value="+l_strNewValue);
}

//-----------------------------------------------------------
function SetNewValue2(p_fldObjFrom, p_fldObjNewValue, p_strValuePart) {
//-----------------------------------------------------------
  var l_strNewValue = '"'+p_strValuePart+p_fldObjFrom.value.replace("www.","")+'"';
  l_strNewValue=l_strNewValue.toLowerCase();
  eval("document.__UpForm." + p_fldObjNewValue + ".value="+l_strNewValue);
}

//--------------------------------------------------
function SubmitHandlerCrossRrefTQ() {
//--------------------------------------------------
  for (i = 0; i < g_arrFK.length; i++) {
    if(typeof g_arrFK[i] != 'undefined') {
      ListId2Value(g_arrFK[i]);
    }
  }
  l_retVal = ValidateTQFields(window.document.__UpForm);
  if (l_retVal)
    return true;
  else
    return false;
}

//------------------------------------------------
function swapimg(oImg, sSearchFor, sReplace, sCursorStyle) {
//------------------------------------------------
  var strSrc = oImg.src.toLowerCase();
  var a=sSearchFor.toLowerCase();
  var b=sReplace.toLowerCase();
  var sC=sCursorStyle.toLowerCase();
  if (sC!='pointer' && sC!='hand')
    sC='pointer';
  if (IE4 )
    if (sC=='pointer')
      sC='hand';
  strSrc = strSrc.replace(a,b);
  oImg.src=strSrc;
  oImg.style.cursor = sC;
}

//----------------------------------------------
function TransmitSelectedText(obj, pFldObj) {
//----------------------------------------------
  if (obj[obj.selectedIndex].value==-1 || obj[obj.selectedIndex].value=="")
    return
  var l_FldObj = eval('document.forms[0].'+pFldObj);
  l_FldObj.value=obj[obj.selectedIndex].text;
  l_FldObj.focus();
}

// FORMULARPRÜFROUTINEN ----------------------------
// Konstruktor für Felder erstellen ----------------
function arrFld() {
//--------------------------------------------------
  //if (!IE4)
  //    return
  var arg=arguments.length
  var frm = document.forms[0];
  var strfName=arguments[0],strFldName=strfName, strHidden="";
  if (strfName.length==0)
    return
  if (strfName.indexOf("|")!=-1) {
    strHidden  = strfName.split("|")[0]
    strFldName = strfName.split("|")[1]
  }
  if (arg>5 && frm.elements[strFldName]!=null && frm.elements[strFldName].type!=null ) {
    this.CheckMode     = arg;
    this.xName         = strFldName;
    this.xDescription  = arguments[1];
    this.xStyle        = arguments[2];
    this.xMinLength    = parseInt(arguments[3], 10);
    this.xErrMsg       = arguments[4];
    this.xDefaultValue = arguments[5];
    this.FieldObj      = frm.elements[strFldName];
    this.FieldHiddenObj= frm.elements[strHidden];
    this.xType         = frm.elements[strFldName].type;
    this.xFieldStyle   = frm.elements[strFldName].style;
    this.xMaxValue     = 0
    this.xDepency      = 0
    this.xRegExp       = arguments[2];
    this.xDepencyCheck = true
    this.xIsOptional   = false
    if (arguments[2].indexOf("|")!=-1) {
      this.xStyle     = arguments[2].split("|")[0]
      this.xRegExp    = arguments[2].split("|")[1]
    }
    if (arg>6) {
      if (arguments[6]!=null) {
        this.xMaxValue = parseInt(arguments[6], 10);
      }
    }
    if (arg>7) {
      if (arguments[7]!=null && arguments[7]!=0) {
        this.xDepency = arguments[7]
      }
    }
    if (arg>8) {
      if (arguments[8]!=null) {
        this.xIsOptional = arguments[8];
      }
    }
  }
}

//-----------------------------------------------------------
function ValidateByType(pFld) {
//-----------------------------------------------------------
  var validate=true,i,ii;
  var arrRegExp,bFoundErr=false;
  switch (pFld.xStyle) {
    case "text":
      if ( pFld.xIsOptional && pFld.FieldObj.value.length==0) {
        //dann ist nix
      } else if (pFld.FieldObj.value.length<pFld.xMinLength) {
          bFoundErr=true
      }
      break;

    case "currency":
      var l_ltmp = parseFloat(pFld.FieldObj.value.replace(/,/,"."))
      if (pFld.xMaxValue>0) {
        if (parseFloat(l_ltmp)<pFld.xMinLength || parseFloat(l_ltmp)>pFld.xMaxValue) {
          bFoundErr=true;
        }
      } else if (l_ltmp<pFld.xMinLength) {
        bFoundErr=true;
      }
      break;


    case "long":
      if ( pFld.xIsOptional && parseInt(pFld.FieldObj.value, 10)==0) {
        //dann ist nix
      } else {
          if (pFld.xMaxValue>0) {
            if (parseInt(pFld.FieldObj.value, 10)<pFld.xMinLength || parseInt(pFld.FieldObj.value, 10)>pFld.xMaxValue) {
              bFoundErr=true;
            }
          } else {
            if (parseInt(pFld.FieldObj.value)<pFld.xMinLength) {
              bFoundErr=true;
            }
          }
      }
      break;

    case "DropDown":
      if (pFld.FieldObj[pFld.FieldObj.selectedIndex].value.length==0) {
          bFoundErr=true;
      } else if (parseInt(pFld.FieldObj[pFld.FieldObj.selectedIndex].value, 10) < parseInt(pFld.xMinLength, 10)) {
          bFoundErr=true;
      }
      break;

    case "blz_de":
      if ( pFld.xIsOptional && pFld.FieldObj.value.length==0) {
        //dann ist nix
      } else {
          pFld.xRegExp="blz_de";
          pFld.xMinLength = 8;
          pFld.xMaxValue = 10;
          if (!validate_RegExp(pFld))
              bFoundErr=true
      }
      break;

    case "upload":
      if (!pFld.xIsOptional && parseInt(g_lLid)==-1 && pFld.FieldObj.value.length==0) {
        //leerer Datensatz ohne File is nicht
        bFoundErr=true;
      } else {
        if (pFld.FieldObj.value.length>0) {
          if (!validate_FileUpload(pFld)) {
            bFoundErr=true;
          }
        }
      }
      break;

    case "bannertimeout":
      if (pFld.FieldObj.value>0 && pFld.FieldObj.value < pFld.xMinLength || (pFld.xMaxValue>0 && pFld.FieldObj.value > pFld.xMaxValue) ) {
        bFoundErr=true
      }
      break;

    case "MultiSelect":
      if ( pFld.xIsOptional && pFld.FieldObj.value.length==0) {
        //dann ist nix
      } else {
          if (pFld.FieldObj.value.length>0) {
            ii=pFld.FieldObj.value.split("|").length;
          } else {
            ii=0;
          }
          if (ii<pFld.xMinLength) {
              bFoundErr=true
              pFld.FieldHiddenObj = document.getElementById('fr_'+pFld.xName+'_left');
              if (pFld.FieldHiddenObj) {
                if (pFld.FieldHiddenObj.options.length>0 && pFld.FieldHiddenObj.selectedIndex==-1)
                    pFld.FieldHiddenObj.selectedIndex=0;
              }
          }
      }
      break;

    case "regexp":
      if ( pFld.xIsOptional && pFld.FieldObj.value.length==0) {
        //dann ist nix
      } else {
          if (!validate_RegExp(pFld))
              bFoundErr=true
      }
      break;

    case "hiddentext":
      if (pFld.FieldHiddenObj.value.length<pFld.xMinLength) {
        bFoundErr=true
      }
      break;

    case "ResetDefault":
      if (pFld.FieldObj.value.length<pFld.xMinLength) {
        pFld.FieldObj.value=pFld.xDefaultValue;
      }
      break;

    case "mailList":
      if ( pFld.xIsOptional && pFld.FieldObj.value.length==0) {
        //dann ist nix
        break
      }
      ii=0
      var strMailList = pFld.FieldObj.value;
      var vLength     = strMailList.length;
      pFld.xRegExp = "mail"
      var strErrMail="";
      if (vLength>0) {
        if (strMailList.substring(vLength-1,vLength)==";") {
          //letztes Zeichen ein Semicolon? wenn ja entfernen
          strMailList = strMailList.substring(0,vLength-1)
          pFld.FieldObj.value = strMailList
        }
        var arrList=strMailList.split(";");
        for (i=0;i<arrList.length;i++) {
          //vorrügergehend Wert auf einzelne eMail-Adresen setzen
          pFld.FieldObj.value = arrList[i];
          if ( !validate_RegExp(pFld) ) {
              ii=ii+1
              strErrMail=strErrMail + ii +".) " + arrList[i]+"\n"
          }
        }
        pFld.FieldObj.value = strMailList
      }
      if (strErrMail!="" && ii>0) {
        pFld.xErrMsg="fehlerhafte eMail-Adresse(n) in der Aufzählung gefunden\t\t\n"+strErrMail
      }
      if (vLength==0 || ii>0) {
        bFoundErr=true
      }
      break;

    default:
      if ( pFld.xStyle=="mail" || pFld.xStyle=="url" || pFld.xStyle=="ip" || pFld.xStyle=="articleno" ) {
          //abwärtskompatibel
          if (pFld.xIsOptional && pFld.FieldObj.value.length==0) {
          } else {
            pFld.xRegExp = pFld.xStyle;
            if ( !validate_RegExp(pFld) ) {
              bFoundErr=true
            }
          }
      }
  }
  if (bFoundErr) {
    if (pFld.xDepency.xStyle!=null) {
      pFld.xDepency.xIsOptional = false
      if (!ValidateByType(pFld.xDepency)) {
        validate = false;
      }
    } else {
      if (pFld.xDepency==-1) {
          pFld.xDepencyCheck=false
      } else if (pFld.xDepency==0) {
          validate=false;
      } else {
          if (!pFld.xDepency.xDepencyCheck) {
            validate=false;
          }
      }
    }
  }
  return validate
}

//--------------------------------------------------
function validate_FileUpload(pFld) {
//--------------------------------------------------
  var validate = true,l_strMime="",i,l_strMsg="", bMimeIsOk=false;
  var l_vRestrictedMime=pFld.xDepency;
    if (l_vRestrictedMime==0) {
    } else {
        l_strMime = pFld.FieldObj.value.substring(pFld.FieldObj.value.length-4,pFld.FieldObj.value.length).toLowerCase()
        l_strMsg = l_vRestrictedMime.length==1 ? "ist|das Format: |dem nicht." : "sind|die Formate: |keinem davon.";
        for (i=0;i<l_vRestrictedMime.length;i++) {
          if (l_vRestrictedMime[i].toLowerCase()==l_strMime) {
            bMimeIsOk = true;
            break;
          }
        }
        if (!bMimeIsOk) {
          alert('Achtung, Dateifehler =================\n\nim Feld: \"'+pFld.xDescription+'\" '+l_strMsg.split("|")[0]
                +' aus Sicherheitsgründen\nnur '+l_strMsg.split("|")[1]+l_vRestrictedMime.join("; ")
                +' zugelassen.\nDie von Ihnen gewählte Datei entspricht '+l_strMsg.split("|")[2]+'\t\t\n\n');
          validate = false;
        }
    }
    return validate;
  }

//--------------------------------------------------
function validate_RegExp(pFld) {
//--------------------------------------------------
  var validate=false,bDefaultMode=false,i,ii,k;
  var strRegExp,sTmp="";
  switch (pFld.xRegExp) {
    case "mail":
      bDefaultMode=true
      strRegExp = /^([_a-zA-Z0-9-.])+\@([_a-zA-Z0-9-.])+\.([a-z]{2,6})$/ ;
      break
    case "ip":
      bDefaultMode=true
      strRegExp = /^([0-9])+\.([0-9])+\.([0-9])+\.([0-9]{1,3})$/ ;
      break
    case "articleno":
      bDefaultMode=true
      strRegExp = /^([0-9]{5})+\.([0-9]{6})$/ ;
      if (pFld.FieldObj.value.length==0) {
        pFld.FieldObj.value=0
      }
      break
    case "mimetype":
      bDefaultMode=true
      if (pFld.FieldObj.value.length>0) {
        pFld.FieldObj.value=pFld.FieldObj.value.toLowerCase();
      }
      strRegExp = /^\.+([a-zA-Z]{3})$/ ;
      break
    case "plz":
      bDefaultMode=true
      if (isNaN(pFld.FieldObj.value) || pFld.FieldObj.value.length==0) {
          pFld.FieldObj.value="";
      } else {
          pFld.FieldObj.value = parseInt(pFld.FieldObj.value, 10)
      }
      if (pFld.FieldObj.value.length>pFld.xMinLength)
        pFld.FieldObj.value = pFld.FieldObj.value.substring(0,pFld.xMinLength)
      strRegExp = eval("/^([0-9]{"+pFld.xMinLength+"})$/ ");
      break
    case "blz_de":
      bDefaultMode=true
      if (pFld.xDepency==-1) {
          strRegExp = /^([0-9]{3})+ ([0-9]{3})+ ([0-9]{2})$/ ;
      } else {
          strRegExp = /^([0-9]{8})$/ ;
      }
      ValidateBLZ_DE(pFld.FieldObj,pFld.xDepency==-1 ? true:false);
      break
    case "url":
      bDefaultMode=true
      strRegExp = /^([_a-zA-Z0-9-.:\/]{3,15})+\.([_a-zA-Z0-9-]{3,30})+\.([_a-zA-Z0-9-]{2,6})+([_a-zA-Z0-9-\/?&,|.=]{0,300})$/ ;
      break
    case "url_http":
      arrRegExp = new Array();
      arrRegExp[0] = /^(http:\/\/)+([_a-zA-Z0-9-.:\/]{3,15})+\.([_a-zA-Z0-9-]{3,30})+\.([_a-zA-Z0-9-]{2,6})+([_a-zA-Z0-9-\/?&,|.=]{0,300})$/ ;
      arrRegExp[1] = /^(https:\/\/)+([_a-zA-Z0-9-.:\/]{3,15})+\.([_a-zA-Z0-9-]{3,30})+\.([_a-zA-Z0-9-]{2,6})+([_a-zA-Z0-9-\/?&,|.=]{0,300})$/ ;
      if (pFld.FieldObj.value.length != 0) {
        validate = arrRegExp[0].test(pFld.FieldObj.value) || arrRegExp[1].test(pFld.FieldObj.value)
      }
      break
  }
  if (bDefaultMode) {
    if (pFld.FieldObj.value.length != 0) {
      validate = strRegExp.test(pFld.FieldObj.value);
    }
  }
  return validate;
}

//-----------------------------------------------------------
function ValidateTQFields(frm) {
//-----------------------------------------------------------
  var validate = true,i,l_bCheckForm=true;
  var oNextFocusName="";
  var oNextFocus=null,l_strErrMsg="",l_strRequiredFields="";
  if (parseInt(frm.action.indexOf("lSenderId=-1"))!= -1 || parseInt(frm.action.indexOf("bDelete=1"))!= -1) {
    l_bCheckForm=false;
  }
  if (frm.elements.length>0 && l_bCheckForm) {
    for (i=0;i<arrFld.length;i++) {
      if (!ValidateByType(arrFld[i])) {
        validate = false;
        if (oNextFocus==null) {
          oNextFocus=arrFld[i].FieldObj;
          oNextFocusName=arrFld[i].xDescription;
          if ( arrFld[i].FieldObj.displayStyle=='hidden' && arrFld[i].FieldHiddenObj ) {
              oNextFocus=arrFld[i].FieldHiddenObj;
          } else if (arrFld[i].xFieldStyle.visibility=='hidden') {
            arrFld[i].xFieldStyle.visibility='visible'
          }
        }
        l_strRequiredFields += "\t- " + arrFld[i].xDescription + "\n"
        if (l_strErrMsg=="")l_strErrMsg=arrFld[i].xErrMsg;
      }
    }
    if (l_strRequiredFields!="" && l_strErrMsg!="") {
        alert(g_strGlobalFillOut+"\n========================\t\n" + l_strRequiredFields +"\n"+oNextFocusName+":\n"+l_strErrMsg);
        if ( oNextFocus.type != "hidden" ) {
          oNextFocus.focus();
        }
    } else if (l_strRequiredFields!="" && l_strErrMsg=="") {
        if ( oNextFocus.type != "hidden" ) {
          oNextFocus.focus();
        }
    }
  }
  return validate;
} // end function validate_RegExp

//**************************************************
// Validation of blz_de Controls
// invoked by 'onBlur()'
//**************************************************
//--------------------------------------------------
function ValidateBLZ_DE(oEvent,pbFormat) {
//--------------------------------------------------
  if (oEvent.value.length>0) {
    var i=0,strRegExp = /^([0-9]{1})$/ ;
    var sT1="",sT2="",sChr="",iMax=8;
    sT1=oEvent.value;
    for (i=0;i<sT1.length;i++) {
      sChr=sT1.substring(i,i+1);
      if (strRegExp.test(sChr)) {
        sT2+=sChr;
      }
    }
    if (pbFormat) {
        // dann Leerzeichen einfügen
        sT1=sT2,sT2="",iMax=10;
        for (i=0;i<sT1.length;i++) {
          sChr=sT1.substring(i,i+1);
          if (i==2 ||i==5) {
            sT2+=sChr+' ';
          } else {
            sT2+=sChr;
          }
        }
    }
    sT2=trim(sT2);
    if (sT2.length>iMax) {
      oEvent.value=sT2.substring(0,iMax);
    } else {
      oEvent.value=sT2;
    }
    return
  }
}
// FORMULARPRÜFROUTINEN ENDE -----------------------

//----------------------------------------------------------------------------
function Tooltip() {
//----------------------------------------------------------------------------
  // public properties
  this.TooltipId        = '';         // tooltip div -id
  this.TooltipContentId = '';         // tooltip content div -id
  this.Template         = '';         // tooltip template
  this.Width            = 200;        // tooltip width
  this.Align            = 0;          // align  0=right  1=left
  this.Valign           = 0;          // valign 0=beyond 1=above
  this.ValignLimit      = 100;        // valign switch limit
  this.CursorMargin     = 10;         // margin from cursor
  this.ClassName        = '';         // div - classname
  // public methods
  this.Initialize       = TooltipInitialize;
  this.Show             = TooltipShow;
  this.SetContent       = TooltipSetContent;
  this.Hide             = TooltipHide;
  this.SetClass         = TooltipSetClass;
  // private properties
  this.Status           = false;       // show hide status
  this.CurrentAlign     = this.Align;  // current align
  this.CurrentValign    = this.Valign; // current valign
  this.MouseX           = 0;
  this.MouseY           = 0;
  // private methods
  }

//----------------------------------------------------
function TooltipSetClass(p_strClassName) {
//----------------------------------------------------
  this.ClassName = p_strClassName;
  document.getElementById(this.TooltipContentId).className = this.ClassName;
  }

//----------------------------------------------------
function TooltipSetContent(p_strContent) {
//----------------------------------------------------
  if(this.Template.length > 0) p_strContent = this.Template.replace(/\{\{CON\}\}/,p_strContent);
  document.getElementById(this.TooltipId).innerHTML = '<div id=\"' + this.TooltipContentId + '\" class=\"' + this.ClassName + '\" style=\"width:' + this.Width + '\;display:block !Important;">' + p_strContent + '</div>';
  }

//----------------------------------------------------
function TooltipInitialize() {
//----------------------------------------------------
  document.onmousemove = CursorMove;
  this.Status = false;
  g_strCurrentTooltip = '';
  }

//----------------------------------------------------
function TooltipShow() {
//----------------------------------------------------
  if (this.TooltipId == '') return;
  this.CurrentAlign  = this.Align;
  this.CurrentValign = this.Valign;
  var l_strRelWidth = CrossInnerWindowWidth() + CrossGetScroll('x');
  var l_strRelHeight = CrossInnerWindowHeight() + CrossGetScroll('y');
  if (this.MouseX + this.Width + this.CursorMargin > l_strRelWidth) this.CurrentAlign = 1;
  else if (this.MouseX < this.Width + this.CursorMargin) this.CurrentAlign = 0;
  if (this.MouseY + this.ValignLimit > l_strRelHeight) this.CurrentValign = 1;
  else if (this.MouseY - this.ValignLimit < 0) this.CurrentValign = 0;
  document.getElementById(this.TooltipId).style.visibility='visible';
  this.Status = true;
  g_strCurrentTooltip = this.TooltipId;
  }

//----------------------------------------------------
function TooltipHide() {
//----------------------------------------------------
  document.getElementById(this.TooltipId).style.visibility='hidden';
  this.Status = false;
  g_strCurrentTooltip = ''
  CrossMoveTo(this.TooltipId, -1024, 0);
  }

//----------------------------------------------------
function CrossMousePosition(e) {
//----------------------------------------------------
  var l_objTooltip = eval('l_obj_' + g_strCurrentTooltip);
  if (document.all) {
    l_objTooltip.MouseX = event.x + document.body.scrollLeft;
    l_objTooltip.MouseY = event.y + document.body.scrollTop;
    }
  else {
    l_objTooltip.MouseX = e.pageX;
    l_objTooltip.MouseY = e.pageY;
    }
  }

//----------------------------------------------------
function CrossInnerWindowWidth() {
//----------------------------------------------------
  var l_lngReturn;
  if (document.all) l_lngReturn = document.body.clientWidth;
  else l_lngReturn = window.innerWidth;
  return l_lngReturn;
  }

//----------------------------------------------------
function crossOuterWindowWidth() {
//----------------------------------------------------
  var l_lngReturn;
  if (document.all) l_lngReturn = document.body.offsetWidth;
  else l_lngReturn = window.outerWidth;
  return l_lngReturn;
  }

//----------------------------------------------------
function CrossInnerWindowHeight() {
//----------------------------------------------------
  var l_lngReturn;
  if (document.all) l_lngReturn = document.body.clientHeight;
  else l_lngReturn = window.innerHeight;
  return l_lngReturn;
  }

//----------------------------------------------------
function CrossGetScroll(l_strAxis) {
//----------------------------------------------------
  var l_lngReturn;
  if (l_strAxis == 'y') {
    if (document.all) l_lngReturn = document.body.scrollTop;
    else l_lngReturn = window.pageYOffset;
    }
  else {
    if (document.all) l_lngReturn = document.body.scrollLeft;
    else l_lngReturn = window.pageXOffset;
    }
  return l_lngReturn;
  }

//----------------------------------------------------
function CrossMoveTo(p_strId, p_lngX, p_lngY) {
//----------------------------------------------------
  var l_objTooltipDiv = document.getElementById(p_strId);
  if (document.all) {
    l_objTooltipDiv.style.pixelLeft = p_lngX;
    l_objTooltipDiv.style.pixelTop = p_lngY;
    }
  else {
    l_objTooltipDiv.style.left = p_lngX + "px";
    l_objTooltipDiv.style.top = p_lngY + 'px';
    }
  }

//----------------------------------------------------
function CursorMove(event) {
//----------------------------------------------------
  if (g_strCurrentTooltip != '') {
    var l_objTooltip = eval('l_obj_' + g_strCurrentTooltip);
    CrossMousePosition(event);
    var l_lngPosX, l_lngPosY;
    if (l_objTooltip.CurrentAlign == 0) {
      l_lngPosX = l_objTooltip.MouseX + l_objTooltip.CursorMargin;
      if (l_objTooltip.CurrentValign == 0) l_lngPosY = l_objTooltip.MouseY + l_objTooltip.CursorMargin;
      else l_lngPosY = l_objTooltip.MouseY - l_objTooltip.ValignLimit;
      }
    else {
      l_lngPosX = l_objTooltip.MouseX - l_objTooltip.Width - l_objTooltip.CursorMargin;
      if (l_objTooltip.CurrentValign == 0) l_lngPosY = l_objTooltip.MouseY + l_objTooltip.CursorMargin;
      else l_lngPosY = l_objTooltip.MouseY - l_objTooltip.ValignLimit;
      }
    CrossMoveTo(g_strCurrentTooltip, l_lngPosX, l_lngPosY)
    }
  }

