// (C) THORSTEN HOFF

//------------------------------------------------------------
  // BROWSERWEICHE START
    var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0, what = '';
    function DHTML_init()
    {    
      if (window.opera)
      {
      OP = 1;
      }
      if(document.getElementById)
      {
      DHTML = 1;
      DOM = 1;
      }
      if(document.all && !OP)
      {
      DHTML = 1;
      MS = 1;
      }
      if(document.layers && !OP)
      {
       DHTML = 1;
       NS = 1;
      }
    }    
    DHTML_init();
  // BROWSERWEICHE END

//------------------------------------------------------------

  // FONT SWITCH START  
    function getFontSwitchCookieDatas(callMode)
    {
      var cookieName;
      var cookieValue;
      if(document.cookie)
      {
        a = document.cookie;      
        // cookieName = a.substr(0,a.search('='));    
        // cookieValue = a.substr(a.search('=')+1, a.search(';'));
        // if(a.search(';') == -1) { cookieValue = a.substr(a.search('=')+1,a.length); }        
        var arrCookieDatas = a.split("; ");
        var arrThisCookieData;
        for(i = 0 ; i < arrCookieDatas.length ; i++)
        {
          var arrThisCookieData =  arrCookieDatas[i].split("=");
          if( arrThisCookieData[0] == "fontMode")
          {
            cookieName = arrThisCookieData[0];
            cookieValue = arrThisCookieData[1];
          }
        }
        fontMode = cookieValue * 1;  
        if(isNaN(fontMode)) { fontMode = 0; }
      }
      else
      {
        fontMode = 0;
      }    
      
      fileFontSwitchCss = fontSwitcher(fontMode, callMode);  
      return fileFontSwitchCss;    
    }
    
    //-------------------------------------------------------------  
    
    function fontSwitcher(fontMode, callMode)
    {  
      if(callMode == "initCookieDatas")
      {
        var fileFontSwitchCss = "fontsize" + fontMode + ".css";
        return fileFontSwitchCss;
      }
      else if(callMode == "toolbar")
      {
        var changeFontSize;    
    var  cookieExpires = new Date();  
    cookieExpires = new Date(cookieExpires.getTime() + 1000 * 60 * 60 * 24 * 365);  
    
        switch (fontMode)
        {
          case 0:        
            changeFontSize = "100%";
            break;
          case 1:        
            changeFontSize = "120%";
            break;
          case 2:        
            changeFontSize = "140%";
            break;
          default:        
            changeFontSize = "100%";
            break;
        }    
        window.document.getElementsByTagName("body")[0].style.fontSize = changeFontSize;
        // document.cookie = "fontMode=" + fontMode;
        document.cookie = 'fontMode=' + fontMode + '; expires=' + cookieExpires + '; path=/; domain=.thorsten-hoff.de';        
      }      
    }    
  // FONT SWITCH END

//-------------------------------------------------------------  
  
  // BOOKMARK PAGE START
    function bookmarkPage()
    {        
      if(window.external)
      {
        if(MS)
        {
          window.external.AddFavorite(document.URL, document.title);
        }
        else
        {
          // window.sidebar.addPanel(document.title, document.URL, '')
          window.external.addPanel(document.title, document.URL, '')
        }
      }      
    }
  // BOOKMARK PAGE END
//------------------------------------------------------------
  // TELL A FRIEND START
    function mailPageLink()
    {
      var mailString = "";    
      mailString = "mailto:?subject= Interessante Seite gefunden: " + document.title;
      mailString += "&body=Vielleicht ist folgende Seite interessant: " + document.title + ". ";
      mailString += "Hier ist der Link: " + document.URL;        
      // mailString = encodeURI(mailString);    
      location.href = mailString;    
    }
  // TELL A FRIEND END

//------------------------------------------------------------

  function createJsToolbar(toolParams)
  {      
    arrTempToolParams = toolParams.split(";");
    var arrToolParams = new Array();
    
    for(i = 0 ; i < arrTempToolParams.length ; i++)
    {
      var arrThisToolParams = arrTempToolParams[i].split("=");
      arrToolParams[arrThisToolParams[0]] = arrThisToolParams[1];      
    }    
    
    var toolTitle = '';
    // toolTitle = '<b>' + arrToolParams["FontToolTitle"] + ':</b>';
    
    var bookmarkPage = '';    
    bookmarkPage += '<span class="toolsAreaItems">';
    bookmarkPage += '<a href="javascript:void(0);" onclick="bookmarkPage();"><img src="fileadmin/templates/icons/bookmark_icon.gif" alt="' + arrToolParams["BookmarkPageTitle"] + '" title="' + arrToolParams["BookmarkPageTitle"] + '" width="15" height="15" border="0"></a>';
    bookmarkPage += '</span>';    
    
    var mailPageLink = '';
    mailPageLink += '<span class="toolsAreaItems">';
    mailPageLink += '<a href="javascript:void(0);" onclick="mailPageLink();"><img src="fileadmin/templates/icons/mail_icon.gif" alt="' + arrToolParams["MailPageTitle"] + '" title="' + arrToolParams["MailPageTitle"] + '" width="15" height="15" border="0"></a>';
    mailPageLink += '</span>';
    
    var fontSwitch = '';
    fontSwitch += '<span class="toolsAreaItems">';
    fontSwitch += '<span class="fontsizeMenue0"><a href="javascript:void(0);" onclick="fontSwitcher(0, \'toolbar\');" class="fontSwitchNormal" title="' + arrToolParams["FontNormalTitle"] + '">A</a></span>';
    fontSwitch += '<span class="fontsizeMenue1"><a href="javascript:void(0);" onclick="fontSwitcher(1, \'toolbar\');" class="fontSwitchMiddle" title="' + arrToolParams["FontMiddleTitle"] + '">A</a></span>';
    fontSwitch += '<span class="fontsizeMenue2"><a href="javascript:void(0);" onclick="fontSwitcher(2, \'toolbar\');" class="fontSwitchMaximal" title="' + arrToolParams["FontMaximalTitle"] + '">A</a></span>';
    fontSwitch += '</span>';    
    
    var printPage = '';
    printPage += '<span class="toolsAreaItems">';
    printPage += '<a href="javascript:void(0);" onclick="window.print();"><img src="fileadmin/templates/icons/print_icon.gif" alt="' + arrToolParams["PrintWindowTitle"] + '" title="' + arrToolParams["PrintWindowTitle"] + '" width="15" height="15" border="0"></a>';
    printPage += '</span>';
    
    document.write(toolTitle);
        
    if(!OP)    
    {
      document.write(bookmarkPage);      
    }
    document.write(mailPageLink);    
    document.write(fontSwitch);    
    document.write(printPage);  
  }
  
//------------------------------------------------------------

  function openWindow(file, name, width, height, top, left, scroll, resizable)
  {
    window.open(file, name, "width=" + width + ",height=" + height + ",top=" + top + ",left=" + left + ",scrollbars=" + scroll + ",resizable=" + resizable + ",status=no");
  }

//------------------------------------------------------------

  function setCursor(formularfeld, formularname)
  {
    window.document.forms[formularfeld].elements[formularname].focus();
    window.document.forms["mail"].elements["nachricht"].select();
  }  

//------------------------------------------------------------

  function detectIfPopUp(openFile)
  {
    if(!opener) { window.document.location.href = openFile; }  
  }

//------------------------------------------------------------

  function selectAllEntries(formName)
  {
    var isSelectAll;
    var form = window.document.forms[formName];
    if(form.elements["selectAll"].checked) { isSelectAll = true; }
    else { isSelectAll = false; }
    
    var formElement;
    var countFormElements = form.elements.length;
    for(i = 0 ; i < countFormElements; i++)
    {
      var formElement = form.elements[i];
      if ((formElement.type == "checkbox") && formElement.name != "selectAll")
      {      
        formElement.checked = isSelectAll;
      }
    }
  }

//------------------------------------------------------------

  function startNewsticker(newstickerText, mode, startPosition, displayMode)
  {
    var time;
    var step;
    var stringLength;
    var displayAreaName;
    var displayFormName;  
        
    if(displayMode == "short")
    {
      displayAreaName = "displayNewstickerShort";
      displayFormName = "formDisplayNewstickerShort";    
      stringLength = 30;
      time = 100;
      step = 1;      
    }
    else if(displayMode == "long")
    {
      displayAreaName = "displayNewstickerLong";
      displayFormName = "formDisplayNewstickerLong";  
      stringLength = 100;
      time = 100;
      step = 1;      
    }
    
    if(mode == "start")
    {
      var space = "";
      for(i = 0 ; i < (stringLength/1); i++)
      {
        space += " ";
      }
      //newstickerText = space + newstickerText + space;
      newstickerText = space + "+++ " + newstickerText + " +++ ";
    }
    var newstickerScreen = newstickerText.substr(startPosition, stringLength);  
    
    window.document.forms[displayFormName].elements[displayAreaName].value = newstickerScreen;
    //window.status = newstickerScreen;
    startPosition = startPosition + step;
    if(startPosition > newstickerText.length) { startPosition = 0;  }
    
    setTimeout("startNewsticker('" + newstickerText + "', '', " + startPosition + ", '" + displayMode + "')", time);  
  }

//------------------------------------------------------------

  function getNewstickerText(newstickerText, displayMode)
  {
    startNewsticker(newstickerText, 'start', 0, displayMode);
  }
  
//------------------------------------------------------------  

  function checkFormFields(formName, arrFormFields)
  {
    var returnValue = true;
    var thisFieldData;
    var arrThisFieldDatas = new Array();
    var emptyFieldNames = "";
    var arrEmptyFields = new Array();
    var countEmptyFields = 0;
    
    var stopThis = false;
    
    if(window.document.forms[formName])
    {
      var form = window.document.forms[formName];      
      if(checkFormFields.arguments.length > 1)
      {  
        for(i = 1 ; i < checkFormFields.arguments.length ; i++)
        {
          thisFieldData = checkFormFields.arguments[i];
          
          arrThisFieldDatas = thisFieldData.split(":");
          
          if(form.elements[arrThisFieldDatas[0]])
          {
            if(form.elements[arrThisFieldDatas[0]].value != "")
            {
              form.elements[arrThisFieldDatas[0]].style.backgroundColor = "";              
            }
            else
            {
              form.elements[arrThisFieldDatas[0]].style.backgroundColor = "#EFD1D1";
              // form.elements[arrThisFieldDatas[0]].focus();
              if(arrThisFieldDatas[1])
              {
                emptyFieldNames += arrThisFieldDatas[1] + ", \n";              
              }
              arrEmptyFields[countEmptyFields] = arrThisFieldDatas[0];
              countEmptyFields++;
              returnValue = false;
            }
          }
        }
        
        // CHECK FOCUS FIELD
          if(arrEmptyFields.length > 0)
          {              
            for(k = 0 ; k < form.elements.length ; k++)
            {                    
              for(i = 0 ; i < arrEmptyFields.length ; i++)
              {                  
                if(form.elements[k].name == arrEmptyFields[i])
                {                  
                  form.elements[k].focus();  
                  stopThis = true;                   
                  break;
                }
                if(stopThis)
                {
                  break;
                }
              }
            }
          }
        // END CHECK FOCUS FIELD
      }
    }    
    
    if(!returnValue)
    {
      emptyFieldNames = emptyFieldNames.substr(0, (emptyFieldNames.length - 3));      
      alert('Bitte füllen Sie alle erforderlichen Felder (' + arrEmptyFields.length + ') aus!\n' + emptyFieldNames);
    }
    
    return returnValue;
  }
  
//------------------------------------------------------------
  function showWarning(name)
  {
    var warning = "Möchten Sie " + name + " wirklich löschen?";
    var antwort = false;
    meldung = confirm(warning);
    if(meldung) { antwort = true;}
    return antwort;
  }
//------------------------------------------------------------
  function submitDatas(url, formName)
  {
    //alert(formName);
    
    var form = window.document.forms[formName];
    var editID = form.elements["editID"].value;
    var mode = "";
    if(form.elements["mode"])
    {
      mode = form.elements["mode"].value;
    }
    if(mode == "edit")
    {
      alert('Bitte speichern Sie erst oder klicken Sie "Abbrechen"!');    
    }
    else
    {
      url = url + "?editID=" + editID;
      window.location.href = url;  
    }
          
  }
//------------------------------------------------------------

// RIGHT BOX SLIDE IN/-OUT START
  function setBoxCookie()
  {
  var boxMode;
    var boxJSON = '';  
  var  cookieExpires = new Date();  
  cookieExpires = new Date(cookieExpires.getTime() + 1000 * 60 * 60 * 24 * 365);  
  
  $("#rightContentArea .boxHeader").each(function(index) {
    //alert(index + ': ' + $(this).text());
    boxMode = $(this).next().css("display");
    boxJSON += '{' + '"boxID": "' + index + '", ' + '"boxMode": "' + boxMode + '"' + '}, ';    
  });
    boxJSON = boxJSON.substr(0, (boxJSON.length - 2));
    boxJSON = '[' + boxJSON + ']';
    document.cookie = 'rightBoxDisplayModes=' + boxJSON + '; expires=' + cookieExpires + '; path=/; domain=.thorsten-hoff.de';    
  }
  function getBoxCookie()
  {
  if(document.cookie)
  {
    a = document.cookie;        
    var arrCookieDatas = a.split("; ");
    var arrThisCookieData;
    for(i = 0 ; i < arrCookieDatas.length ; i++)
    {
      var arrThisCookieData =  arrCookieDatas[i].split("=");
      if( arrThisCookieData[0] == "rightBoxDisplayModes")
      {
        var cookieName = arrThisCookieData[0];
        var cookieValue = arrThisCookieData[1];
      }
    }
    if(cookieValue)
    {
      var obj = jQuery.parseJSON(cookieValue);  
      
      $("#rightContentArea .boxHeader").each(function(index) {
        if(obj[index])
        {
          $(this).next().css("display", obj[index].boxMode);  
          if(obj[index].boxMode == "none")
          {      
            $(this).css("background-image", "url(/fileadmin/templates/layout/titleBg_0.gif)");     
            $(this).attr("title", "Diese Box öffnen");
          }
          else
          {      
            $(this).css("background-image", "url(fileadmin/templates/layout/titleBg_1.gif)");          
            $(this).attr("title", "Diese Box schließen");
          }
        }
      });
    }
  }
  }

  $(document).ready(function() {
    getBoxCookie();
  
  $("#rightContentArea .boxHeader").bind("click", function (event) {    
    var clickedItem = $(this);
    var nextItem = clickedItem.next();
    var boxMode = nextItem.css("display"); 
    var animationTime = "fast";    
    
      // CHANGE BACKGROUND
    if(boxMode != "none")
    {      
      clickedItem.css("background-image", "url(/fileadmin/templates/layout/titleBg_0.gif)"); 
      clickedItem.attr("title", "Diese Box öffnen");
      // nextItem.css("display", "none");
      nextItem.slideUp(animationTime, function(){ setBoxCookie(); });  
      
    }
    else
    {      
      clickedItem.css("background-image", "url(fileadmin/templates/layout/titleBg_1.gif)");
      clickedItem.attr("title", "Diese Box schließen");
      // nextItem.css("display", "block");
      nextItem.slideDown(animationTime, function(){ setBoxCookie(); });       
    }    
    
    });    
  });

// RIGHT BOX SLIDE IN/-OUT END
