/*****************************************************************************************
*                                      Event-Kalender                                    *
*                                   (c) by Holger Stitz                                  *
*****************************************************************************************/

//============================== HIER NICHTS ÄNDERN!!! ===================================

function get_date() {
  //Datum holen
  month_number=new Array("01","02","03","04","05","06","07","08","09","10","11","12");
  month_text=new Array("Januar","Februar","M&auml;rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
  day_number=new Array("00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");
  d=new Date();
  month=month_number[d.getMonth()];
  day=day_number[d.getDate()];
  year=d.getFullYear();
  hour=d.getHours();
  minute=d.getMinutes();
}


//----------------------- Function für das Teilen des Arrays -----------------------------
function event_split(i) {
  date_new=events[i].split("|")[0];
  date_year=events[i].split("|")[1];
  date_month=events[i].split("|")[2];
  date_day=events[i].split("|")[3];
  date_time=events[i].split("|")[4];
  date_timeperiode=events[i].split("|")[5];
  date_description=events[i].split("|")[6];
  date_teaser=events[i].split("|")[7];
  date_organizer=events[i].split("|")[8];
}//Ende function


//-------------------- Holt das Logo des jeweiligen Veranstalters ------------------------
function get_logo() {
  for(x=0;x<organizer.length;x++) {
    organizer_logo=organizer[x].split("|")[0];
    organizer_title=organizer[x].split("|")[1];
    if(date_organizer==organizer_title) {
      //alert('organizer_logo: '+organizer_logo+'\norganizer_title: '+organizer_title);
      if(organizer_logo!="") {
        logo=organizer_logo;
      }
      else {
        logo="";
      }
    }
  }
}//Ende function


//-------------------- Zeigt den nächsten Termin in der Box an ------------------------
function event_teaser() {
  get_date();
  dat=(month+day);
  //F&uuml;r jeden Termin durchlaufen
  for(i=0;i<events.length;i++) {
    show="";
    //Array Zerlegen
    event_split(i); //function
    //Array f&uuml;r den Gebrauch zusammenbauen
    date_dat = date_day + ". " + date_month + ".";
    cod = date_month + date_day;
    //Wenn das Datum kleiner oder gleich dem Termin ist wird es angezeigt
    if (dat<=cod){
      show+="<a " + link_teaser + " href='" + teaser_url + "#" + date_dat + "'><b>";
      if(date_timeperiode!="") {
        show+=date_timeperiode + ". - " + date_dat;
      }
      else {
        show+= date_dat;
      }
      show+=" </b> - " + date_teaser + "</a>";
      document.write(show);
      break;
    }
  }//Ende FOR
}//Ende function


//--------------------- Zeigt den ganzen Veranstaltungsplan an --------------------------
function event_calendar() {
  get_date();
  //Einstellungen siehe oben
  if(delete_date==0) { dat=year+month; }
  else { dat=(year+month+day); }

  temp=""; k=0; logo=""; next_year=true;
  //F&uuml;r jeden Termin durchlaufen
  for(i=0;i<events.length;i++) {
    //Anzeige löschen
    show="";
    //Datum jedes man wieder auf Ausgangsposition zurückstellen, da sonst keine Termine über den Jahreswechsel hinaus angezeigt werden.
    get_date();
    
    //Array Zerlegen
    event_split(i); //function

    //Array f&uuml;r den Gebrauch zusammenbauen
    date_dat = date_day + ". " + date_month + ".";
    //Einstellungen siehe oben
    if(delete_date==0) { cod = date_year+date_month; }
    else { cod = date_year+date_month + date_day; }

    //Anzahl wieviel Monate im Vorraus angezeigt werden sollen
    month_plus=d.getMonth()+show_month;
    if(month_plus<"10") {
      month_plus= "0" + month_plus;
    }

    //Ist wichtig, damit auch die Termne über den Jahreswechsel hinaus angezeigt werden
    if(date_year>year) {
      if(month_plus>12&&date_month<month) {
        month_plus=month_plus-12; //Zu dem neuen Jahr noch die verbleibende Anzahl von Monaten anzeigen.
        month=date_month; //Muss angeglichen werden, da sonst der richtige Monat größer als der Datumsmonat ist und nicht angezeigt wird.

        //Ist wichtig, da sonst auch Termine die über 12 Monate hinaus liegen angezeigt werden.
        if(delete_date==0) {
          dat=year+date_month;
          next_year=(cod-100)<=dat;
        }
        else if(delete_date==1) {
          dat=year+date_month+date_day;
          next_year=(cod-10000)<=dat;
        }
      }//Ende if(month_plus>12&&date_month<month)
      //Ist wichtig, da sonst auch Termine die über 12 Monate hinaus liegen angezeigt werden.
      else {
        if(delete_date==0) {
          next_year=(cod-100)<dat;
        }
        else if(delete_date==1) {
          next_year=(cod-10000)<dat;
        }//Ende else
      }//Ende else
    }//Ende if(date_year>year)

    //Damit nicht das alte Jahr angezeigt wird
    if(date_year>=year) {
      //Monat (immer als Text) über den Veranstaltungen anzeigen + Anfang und Ende der Tabelle
      if((date_month<=month_plus)&&(date_month>=month)&&next_year==true) {
        //Ist nötig damit der Monat nur einmal und nicht jedesmal angezeigt wird
        if(date_month!=temp) {
          //Ende der Tabelle wird jeden Monat außer dem ersten angezeigt
          if(k!=0&&show_format==1) {
            document.write('</table><p ' + p_splitter + '>&nbsp;</p>');
          }
          else if (k!=0) {
            document.write('<p ' + p_splitter + '>&nbsp;</p>');
          }
          //Wenn der Monat keine "0" vor hat wird eine hinzugefügt
          if(date_month<"10") {
            mon=date_month.substring(1);
            mon--;
          }
          else {
            mon=date_month;
            mon--;
          }
          month_long=month_text[mon];
          temp=date_month; //Siehe oben
          
          //Wenn das nächste Jahr angezeigt wird, dann wird bis zum 31.12 des jetztigen Jahres
          //das nächste Jahr über Januar erscheinen
          if(date_month=="01"&&(year+1)==date_year) {
            document.write("<p " + p_year + "><a name=\"" + date_year + "\">" + date_year + "</a></p>");
          }

          //Monat (immer als Text) ausgeben
          document.write("<p " + p_month + "><a name=\"" + month_long + "\">" + month_long + "</a></p>");
          //Tabelle oder Text anzeigen
          if(show_format==1) {
            document.write('<table '+ table_options +'">');
          }
        }//Ende if(date_month!=temp)
        k++; //Erh&ouml;hen damit das Ende der Tabelle angezeigt wird
      }//Ende if((date_month<=month_plus)&&(date_month>=month))
    }//Ende (date_year>=year)

    //------------------------------------- Termine --------------------------------------
    //Ist erforderlich, damit nur die oben bestimmte Anzahl an
    //Monaten nach dem jetztigen Monat angezeigt werden
    if ((date_month<=month_plus)&&(date_month>=month)&&next_year==true) {
      //Wenn das Datum kleiner oder gleich dem Termin ist wird es angezeigt
      if (dat<=cod){

        //Tabelle oder Text anzeigen
        if(show_format==1) {
          show += '<tr>';

          //Logo anzeigen...
          if (show_logo==1&&organizer_script==1) {
            show += '<td ' + td_img + '>';

            //Logo des Veranstalters holen
            get_logo(); //function

            //Wenn ein Logo vorhanden ist einf&uuml;gen
            if(logo!="") {
              show += '<img border="0" src="' + logo_url + logo +'" alt="' + date_organizer + '"></td>';
            }
            else {
              show += '<img src="' + logo_url + logo_default + '" ' + logo_default_options + '></td>';
            }
            //Andere Tabellenbreite
            show += '<td ' + td_img_text + '>';
          }
          //...oder Logo nicht anzeigen.
          else {
            show += '<td ' + td_no_img + '>';
          }
        } //Ende if(show_format==1)

        show+='<p '+ p_date +'>';

        //Wenn der Termin neu ist gr&uuml;n machen (Anfang)
        if(date_new!="") {
          show += '<font color=" '+ color_new_date +'">';
        }
          //Wenn eine Zeitspanne vorhanden ist einf&uuml;gen
          if(date_timeperiode!="") {
            show += '<a name="' + date_dat + '">' + date_timeperiode + '. - ' + date_dat + ' </a>' + date_year;
          }
          else {
            show += '<a name="' + date_dat + '">' + date_dat + ' </a>' + date_year;
          }

          //Wenn eine Zeit vorhanden ist einf&uuml;gen
          if(date_time!="") {
            show += ' - ' + date_time + ' Uhr';
          }
        //Wenn der Termin neu ist gr&uuml;n machen (Ende)
        if(date_new!="") {
          show += '</font>';
        }

        show += '</p><p '+ p_text +'>' + date_description + '</p>';

        //Wenn ein Veranstalter vorhanden ist einf&uuml;gen
        if(date_organizer!=""&&organizer_script==1) {
          show += '<p '+ p_organizer +'>Ort: <a href="javascript:show_organizer(\'' + date_organizer + '\')">' + date_organizer + '</a>';
        }
        //Wenn nicht nur Veranstalter als Text anzeigen
        else if(date_organizer!=""&&organizer_script==0) {
          show += '<p '+ p_organizer +'><b>Ort:</b> ' + date_organizer;
        }
        else {
          show += '';
        }
        //Routenplaner-Link anzeigen?
        if(show_route_link==1&&organizer_script==1&&date_organizer!="") {
          show += ' | <a href="javascript:show_route(\'' + date_organizer + '\')">Route planen</a>';
        }
        else {
          show += '';
        }
        show += '</p>';
        show += '<p><img src="gif/balken_hor.jpg"height="10" width="500"></p>';



        //Tabelle oder Text anzeigen
        if(show_format==1) {
          show += '</td></tr>';
        }
        else {
          show+='<br>';
        }
        
        document.write(show);
      }//Ende if (dat<=cod)
    }//if ((date_month<=month_plus)&&(date_month>=month))
  }//Ende FOR
  //Damit die letzte Tabelle auch geschlossen wird
  //Tabelle oder Text anzeigen
  if(show_format==1) {
    document.write('</table>');
  }
  document.write('<p ' + p_splitter + '>&nbsp;</p>');
}//Ende function


//-------------- Zeigt im Kasten "Gehe zu ..." die Monate (als Text) an ------------------
function go2_system() {
    get_date();
    month_plus=d.getMonth()+show_month;
    for(i=0;i<show_month;i++) {
      number = d.getMonth() + i;
      //Wenn über dieses Jahr hinaus, dann von vorn beginnen
      if(number>=12) {
        number=number-12;
      }
      month_long = month_text[number];
      //Das Jahr über Januar anzeigen
      if(number==0) {
        document.write(sign_year + '<a href="#' + (year+1) + '" ' + link_year + '>' + (year+1) + '</a><br>');
      }
      document.write(sign_month + '<a href="#' + month_long + '" ' + link_month + '>' + month_long + '</a><br>');
    }//Ende FOR
}//Ende function

