<!--
/* für fast alle Dateien */


var http_request = null;
var maxVeranstaltungen = 3;
var startShow = null;

window.onload = init;


/* schreibt nur den ersten Buchstabe groß und den Rest klein */
function toUpperLowerCase(str) {
  var lowerText = str.toLowerCase();
  var laenge = str.length;
  var firstLetter = str.substr(0,1).toUpperCase();
  var newText = firstLetter + lowerText.substr(1,laenge-1);
  return newText;
}


/* Sonderbehandlung von Umlauten */
function fromId(str, index){
  var arr = new Array(2);
  arr[0] = new Array("Oe", "oe", "Ae", "ae", "Ue", "ue", "ss", "_");
  arr[1] = new Array(unescape("%D6"), unescape("%F6"), unescape("%C4"), unescape("%E4"), unescape("%DC"), unescape("%FC"), unescape("%DF"), " ");
  for (var i=0; i < arr[index].length; i++){

    str = str.replace(arr[index][i]+"g", arr[(index==0?1:0)][i]);
  }

  var j = str.indexOf("e"+unescape("%FC"));
  if (j >= 0){
          str = str.substr(0,j) + "eue" + str.substr(j+2,str.length-1);
  }
  return str;
}


/* durchsucht einen Array, ob er ein Element enthält */
Array.prototype.contains = function(obj) {
  var i, listed = false;
  for (i=0; i<this.length; i++) {
    if (this[i] === obj) {
            return true;
      listed = true;
      break;
    }
  }
  return listed;
}


/* wandelt den Dateinamen in ein sinnvollen String */
function toLabel(str){
        //if(str.length<=0) return "Index";
        var j = str.indexOf(".html");
  if (j >= 0) str = str.substr(0,j);

  str = fromId(str,0);
  var tmp = str.split(" ");

  var arr = new Array("der", "die", "das", "dem", "den", "des", "zu", "zur", "zum", "und");
  var result = toUpperLowerCase(tmp[0]);
  for (var i=1; i < tmp.length; i++){
    if (arr.contains(tmp[i])) result = result + " " + tmp[i];
    else result = result + " " + toUpperLowerCase(tmp[i]);
  }
        return result;
}


/* setzt einen bestimmten Bereich eines Array wieder zusammen */
function toHref(arr, min, max){
  var str = "http://";
  for(var i=min; i<=max; i++){
    if (arr[i].length > 0){
      str = str + arr[i] + "/";
    }
  }
  return str + "index.html";
}


/* setzt den BreadCrumb ("Sie sind hier: ...") mit Hilfe des Dateinamens */
function setBreadcrumbs() {
  //document.getElementById('navigation_f').style.height = document.body.clientHeight - 315 + 'px';
  if (document.body.clientWidth<892) document.body.clientWidth="892px";

  //mail();

  //document.getElementById('navigation_f').height = document.getElementById('navigation').offsetHeight;


  if (document.getElementById('start') == null){
	  /*var loc = ("http://www.ksg-dresden.de/index.html").split("#");
	  var loc = ("http://www.ksg-dresden.de/weiteres/links.html").split("#");
	  var loc = ("http://home.arcor.de/ksg-dresden/test/gemeindestruktur/ausschuesse/innen.html").split("#");*/
	  var loc = parent.location.href.split("#");
	  var minpath = 3;  //normal:3
	  var param = "";
	  if (loc.length > 1) param = loc[1];
	  else {
	          var tmp = location.href.split("#");
	          if (tmp.length > 0) param = tmp[1];
	  }
	  var path = loc[0].split("/");
	
	  var span = document.createElement("span");
	  var attr = document.createAttribute("id");
	  attr.nodeValue = "start";
	  span.setAttributeNode(attr);
	        var text = document.createTextNode("Sie sind hier: ");
	        span.appendChild(text);
	  document.getElementById("breadcrumbs").appendChild(span);
	
	  var i=minpath;
	  while((i<path.length-1) || (i==minpath)){
	     if (i==minpath || toLabel(path[i])!="Startseite"){
	          var a = document.createElement("a");
	          var attr = document.createAttribute("href");
	          attr.nodeValue = toHref(path,1,i);                                                                                                //ändern!
	          a.setAttributeNode(attr);
	          //var attr = document.createAttribute("title");
	          //attr.nodeValue = "zur&uuml;ck";                                                                                                //ändern!
	          //a.setAttributeNode(attr);
	                var text;
			if (i==minpath) text = document.createTextNode("Startseite");                                                                                                //ändern!
	                else text = document.createTextNode(toLabel(path[i]));                                                                                                //ändern!
			if ((i >= path.length-1)) text = document.createTextNode("Startseite");
	                a.appendChild(text);
	          document.getElementById("breadcrumbs").appendChild(a);
	          var span = document.createElement("span");
	          var attr = document.createAttribute("class");
	          attr.nodeValue = "breadcrumbSeparator";
	          span.setAttributeNode(attr);
	                var text = document.createTextNode(" > ");
	                span.appendChild(text);
	          document.getElementById("breadcrumbs").appendChild(span);
	     }
	     i++;
	  }
	
	  if (i >= path.length) path.push("index.html");
	
	  var span = document.createElement("span");
	  var attr = document.createAttribute("id");
	  attr.nodeValue = "breadcrumbText";
	  span.setAttributeNode(attr);
	        var text = document.createTextNode(toLabel(path[i]));                                                                                                //ändern!
	        span.appendChild(text);
	  document.getElementById("breadcrumbs").appendChild(span);
	
	  //changeCommission(0);
  }
}


/* ändert den Ausschuss (zur Zeit nicht benötigt) */
function changeCommission(i)
{
  var commission = new Array("sprecherrunde", "innenausschuss", "technischer_ausschuss", "aussenausschuss", "weitere");
  document.getElementById("cyclic_info").src = "gemeindestruktur/verantwortliche/" + commission[i] + "/info.html";
  i++;
  if (i >= commission.length) i=0;
  window.setTimeout("changeCommission("+i+")",6000);
}


/* String umkehren (Hilfsfunktion für addEmailAddress) */
function invert(str){
  var res = "";
  var i = str.length - 1;
  while(i>=0){
    res = res+str.charAt(i);
    i--;
  }
  return res;
}


/* alle Email-Adressen erkennen und Ziel automatisch setzen */
function addEmailAddress(){
  var a = document.getElementsByTagName("a");
  var i = 0;
  var tmp = "";
  while(i<a.length){
  	if (a[i].className == "mail"){
  		tmp = a[i].firstChild.nodeValue;
  		a[i].href = "mailto:" + invert(tmp);
  		a[i].firstChild.nodeValue = tmp;
  	}
  	i++;
  }  
}


/* fügt einen Link zum oberen Teil der Seite an einer bestimmten Stelle ein */
function addLinkToTop(item){
  var p = document.createElement("p");
  	
  var a = document.createElement("a");
  a.href = "#top";
  	
  a.className = "a_top";
  a.title = "Befehl: nach oben";
  		
  var text = document.createTextNode("oben");
  a.appendChild(text);
  p.appendChild(a);
  item.parentNode.insertBefore(p,item);
}


/* fügt an jeder h2-Überschrift einen Link zum oberen Teil der Seite ein */
function addLinksToTop(){
  var h = document.getElementsByTagName("h2");
  for (var i=0; i<h.length; i++){
  	if(h[i].parentNode.className=="headbox") addLinkToTop(h[i]);
  }
}


/* ändert die Adresse von Bildern */
function changeImg(){
  var img = document.getElementsByTagName("img");
  for (var i=0; i<img.length; i++){
  	var s = img[i].src;
  	if (s.substring(s.length-6).toLowerCase() == "_k.jpg"){
  		img[i].src = s.substring(0,s.length-6) + ".jpg";
  	}
  }
}


/* bestimmt, ob das Programm vom Sommer- oder Wintersemester aufgerufen wird */
function program(){
  var today = new Date();
  var month = today.getMonth();

  var s = 'winter';
  //alert(today+"|"+month);
  if (month>=3 && month<9) s = 'sommer';

  location.href=''+s+'.html';
}


/* erzeugt einen HTTP-Request (AJAX) */
function createHttpRequest(){
   var resObjekt = null;
   try{
       resObjekt = new ActiveXObject("MSXML2.XMLHTTP");
   }catch(e){
       try{
           resObjekt = new ActiveXObject("Microsoft.XMLHTTP");
       }catch(e){
           try{
               resObjekt = new XMLHttpRequest();
           }catch(e){ 
               //alert("Erzeugung des XMLHttpRequest-Objekts nich möglich");
           }
       }
   }
   return resObjekt;
}


/* sendet einen HTTP-Request, um die nächsten Veranstaltungen anzuzeigen */
function sndReq(){
  if (document.cookie){
    var cookies = document.cookie.split("; ");
    var j = 0;
    while (j < cookies.length){
      if (cookies[j].substring(0,6).toLowerCase() == "maxVeranstaltungen"){
        maxVeranstaltungen = cookies[j].substring(7);
        break;
      }
      j++;
    }
  }

  if (maxVeranstaltungen>0){
	  var today = new Date();
	  var month = today.getMonth()+1;
	  http_request = createHttpRequest();
	  
	  if (month>=3 && month<=8) http_request.open('GET', './startseite/programm/sommer.html', true);
	  else http_request.open('GET', './startseite/programm/winter.html', true);
	  
	  http_request.onreadystatechange = handleResponse;
	  http_request.send(null);
  }
}


/* fügt vom aktuellen Programm die nächsten Veranstaltungen unten an (automatisch) */
function handleResponse(){
  if(http_request.readyState == 4){
    var dayofweeks = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
    var doc = http_request.responseText;
    var first = null;

    var neuigkeiten = document.getElementById("neuigkeiten");
    
    var div1 = document.createElement("div");
    div1.className = "item";
    div1.id = "veranstaltungen";
    
    var div3 = document.createElement("div");
    div3.className = "headbox";
    var h2 = document.createElement("h2");
    var h2_text = document.createTextNode("Nächste Veranstaltungen");
    h2.appendChild(h2_text);
    div3.appendChild(h2);
    div1.appendChild(div3);
    
    // für Opera-Browser oder InternetExplorer
    if(navigator.appName == "Opera" || navigator.appName == "Microsoft Internet Explorer"){
    	var br = document.createElement("br");
    	div1.appendChild(br);
    }
    
    var today = new Date();
    //today.setDate(today.getDate()-2);
    var month = today.getMonth()+1;
    var sommer = false;
    if (month>=3 && month<=8) sommer = true;
    
    var div2 = document.createElement("div");
    div2.className = "gap";
    //neuigkeiten.parentNode.insertBefore(div2, neuigkeiten);
    
    neuigkeiten.parentNode.appendChild(div2);
    neuigkeiten.parentNode.appendChild(div1);
    
    var c = 0;
    while (c<maxVeranstaltungen && (sommer==true && (month>=3 && month<=8) || sommer==false && (month<3 || month>8))){
      var day = today.getDate();
      if (day < 10) day = "0" + day;
      if (month < 10) month = "0" + month;
      var dayofweek = dayofweeks[today.getDay()];
      
      var id = "title" + day + month;
      
      var i = doc.indexOf(id);
      if (i>0){
        if (first == null) first = id;
        var f = doc.lastIndexOf("<div",i);
        var l = doc.indexOf("</div>",i)+6;
        var tmp = doc.substring(f,l);
        //alert(tmp);
        insertTags(div1,tmp);
        c++;
      }
      
      today.setDate(today.getDate()+1);
      month = today.getMonth()+1;
      //if (sommer==true && (month<3 || month>8)) break;
      //if (sommer=false && (month>=3 && month<=8)) break;
      //if (month>9) alert(c+"<"+maxVeranstaltungen+"  "+sommer+"|"+month);
    }
    
    if (c==0){
    	var p = document.createElement("p");
    	var p_text = document.createTextNode("Es sind leider keine Termine verfügbar!");
    	p.appendChild(p_text);
    	div1.appendChild(p);
    }    
    else{
    	var p = document.createElement("p");
	var a = document.createElement("a");
	
	p.className = "right";
	
	if (sommer==true) a.href = "./startseite/programm/sommer.html#" + first;
	else a.href = "./startseite/programm/winter.html#" + id;
	  	
	a.title = "Interner Link: Nächsten Veranstaltungen";
	  		
	var text = document.createTextNode("weitere Veranstaltungen");
	a.appendChild(text);
	p.appendChild(a);
	div1.appendChild(p);
    }
      
    //neuigkeiten.parentNode.insertBefore(div1, neuigkeiten);

    addLinkToTop(h2);
  }
}


/* fügt ein HTML-Tag ein */
function insertTags(node, item){  
  var tagBegin = item.indexOf("<")+1;
  var tagEnd = 0;
  
  while(tagBegin>0){
    if (tagEnd < tagBegin-1){
      //alert("+"+item.substring(tagEnd,tagBegin-1)+"+");
      var text = document.createTextNode(item.substring(tagEnd,tagBegin-1));
      node.appendChild(text);
    }
  
    var t = item.indexOf(" ", tagBegin);
    var f = item.indexOf(">", t)+1;
    var tag = item.substring(tagBegin,t);
    var tagEnd = item.indexOf("</" + tag + ">", t);
    var b = item.indexOf("/>", tagBegin);
    var tagInhalt = item.substring(f,tagEnd);
    if (b>0 && b<t){
      var t = b;
      var f = b;
      var tagEnd = b;
      var tag = item.substring(tagBegin,t);
      var tagInhalt = null;
    }
    //alert("C#"+tag+"#"+tagInhalt+"#");
    
    var container = document.createElement(tag);
    
    var attrEnd = item.indexOf("=", t)+1;
    while(attrEnd>0 && attrEnd<f){
      var attrBegin = item.lastIndexOf(" ",attrEnd)+1;
      var attr = item.substring(attrBegin,attrEnd-1);
      var a = item.indexOf("\"",attrEnd)+1;
      var e = item.indexOf("\"",a);
      var attrInhalt = item.substring(a,e);
      if (tag.toLowerCase() == "a" && attr.toLowerCase() == "href" && attrInhalt.charAt(0) == '.')
        attrInhalt = "./startseite/programm/" + attrInhalt;
      
      //alert("A#"+attr+"#" + attrInhalt + "#");
      var attribute = document.createAttribute(attr);
      attribute.nodeValue = attrInhalt;
      container.setAttributeNode(attribute);
      
      var attrEnd = item.indexOf("=", attrEnd+1)+1;
    }
    if (tagInhalt != null) insertTags(container,tagInhalt);
    node.appendChild(container);
    
    // für Opera-Browser oder InternetExplorer
    if(navigator.appName == "Opera" || navigator.appName == "Microsoft Internet Explorer"){
    	if (tag=="h3"||tag=="div"){
    		var br = document.createElement("br");
    		node.appendChild(br);
    	}
    }
    
    var tagEnd = item.indexOf(">",tagEnd+1)+1;
    var tagBegin = item.indexOf("<",tagEnd)+1;
    //alert("rest:"+item.substring(tagEnd)+"\n"+tagEnd + ", " + tagBegin + "\n" + item.substring(tagBegin));
  }
  if (tagEnd<item.length){
    //alert("+"+item.substring(tagEnd)+"+");
    var text = document.createTextNode(item.substring(tagEnd));
    node.appendChild(text);
  }
}


/* zeigt die ShortNavigation (Extra-Kasten) */
function showShortNav(){
  document.getElementById('shortnav').className ="active";
  startShow = new Date();
  window.setTimeout("hideShortNav()",3500);
}


/* versteckt die ShortNavigation (Extra-Kasten) */
function hideShortNav(){
  var today = new Date();
  var diff = (today - startShow);
  if (diff >= 3500) document.getElementById('shortnav').className ="inactive";
  else window.setTimeout("hideShortNav()",diff);
}


/* beim Laden wird je nach Seite eventuell weitergeleitet, die nächsten Veranstaltungen angefügt oder/und die Emailadressen geändert und die Links zum oberen Teil der Seite hinzugefügt */
function init(){
  if (document.getElementById('program_w')) program();
  else{
          if (document.getElementById('start_w')) location.href='../index.html';
          else{
                  if (document.getElementById('weiteres_w')) location.href='./wgsuche.html';
                  else{
                          if (document.getElementById('ausschuesse_w')) location.href='./innen.html';
                          else{
                          	//if (document.getElementById('bildergalerie_w')) location.href='./sprecherrunde/index.html';
                          	//else{
                          		addEmailAddress();
					addLinksToTop();
					
                          		if (document.getElementById('frame')){
                          			document.getElementById('yellow1').onmouseover = showShortNav;
						document.getElementById('yellow1').onmouseout = hideShortNav;
					
						//in "top" zusätzliche Felder erzeugen
						var span1 = document.createElement("span");
						var text1 = document.createTextNode("|");
						span1.appendChild(text1);
						document.getElementById("a_search").appendChild(span1);
						
						var input2 = document.createElement("input");
						var attr2type = document.createAttribute("type");
						attr2type.nodeValue = "hidden";
						input2.setAttributeNode(attr2type);
						var attr2name = document.createAttribute("name");
						attr2name.nodeValue = "hl";
						input2.setAttributeNode(attr2name);
						var attr2value = document.createAttribute("value");
						attr2value.nodeValue = "de";
						input2.setAttributeNode(attr2value);
						document.getElementById("a_search").appendChild(input2);
						
						
						var input3 = document.createElement("input");
						var attr3type = document.createAttribute("type");
						attr3type.nodeValue = "hidden";
						input3.setAttributeNode(attr3type);
						var attr3name = document.createAttribute("name");
						attr3name.nodeValue = "q";
						input3.setAttributeNode(attr3name);
						var attr3value = document.createAttribute("value");
						attr3value.nodeValue = "site:www.ksg-dresden.de";
						input3.setAttributeNode(attr3value);
						document.getElementById("a_search").appendChild(input3);
						
						var input4 = document.createElement("input");
						var attr4type = document.createAttribute("type");
						attr4type.nodeValue = "text";
						input4.setAttributeNode(attr4type);
						var attr4name = document.createAttribute("name");
						attr4name.nodeValue = "q";
						input4.setAttributeNode(attr4name);
						var attr4value = document.createAttribute("value");
						attr4value.nodeValue = "";
						input4.setAttributeNode(attr4value);
						document.getElementById("a_search").appendChild(input4);
						
						var a5 = document.createElement("a");
						var attr5 = document.createAttribute("href");
						attr5.nodeValue = "javascript:document.Suchformular.submit()";
						a5.setAttributeNode(attr5);
						var attr5ak = document.createAttribute("accesskey");
						attr5ak.nodeValue = "s";
						a5.setAttributeNode(attr5ak);
						var title5 = document.createAttribute("title");
						title5.nodeValue = "Externer Link: Suche bei Google";
						a5.setAttributeNode(title5);
						var attr5id = document.createAttribute("id");
						attr5id.nodeValue = "suchen";
						a5.setAttributeNode(attr5id);
						var text5 = document.createTextNode("Suche");
						a5.appendChild(text5);
						document.getElementById("a_search").appendChild(a5);
						
						//in "bottom" zusätzliche Felder erzeugen
						var span1b = document.createElement("span");
						var text1b = document.createTextNode("|");
						span1b.appendChild(text1b);
						document.getElementById("a_print").appendChild(span1b);
						var a1b = document.createElement("a");
						var attr1b = document.createAttribute("href");
						attr1b.nodeValue = "javascript:parent.print()";
						a1b.setAttributeNode(attr1b);
						var title1b = document.createAttribute("title");
						title1b.nodeValue = "Befehl: Drucken";
						a1b.setAttributeNode(title1b);
						var text1b = document.createTextNode("Drucken");
						a1b.appendChild(text1b);
						document.getElementById("a_print").appendChild(a1b);
                          		}
                          		else{
                          			document.getElementById('top').onmouseover = showShortNav;
						document.getElementById('top').onmouseout = hideShortNav;
                          			if (document.getElementById('index_w') && document.getElementById('veranstaltungen') == null) sndReq();

	                          		setBreadcrumbs();
	                          		changeImg();
					}
					//initFocus();
                          	//}
                          }
                  }
          }
  }
}


/* nicht benötigte Funktionen */
/*
function initFocus(){
  var img = document.getElementsByTagName("img");
  for (var i=0; i<img.length; i++){
	if (img[i].className=="litpic" || img[i].className=="norpic" || img[i].className=="bigpic"){
		//alert(img[i].src);
		img[i].onmouseover = focusImg(img[i]);//"node.className += '_f'";//focusImg(img[i]);
		img[i].onmouseout = blurImg(img[i]);
  	}
  }
}
function blurImg(node){
  var str = node.className;
  node.className = str.substring(0,str.length-2);
}
function focusImg(node){
  node.className += "_f";
  //alert(node.className);
}
*/

//-->