/**
 * Google Analytics - The Asynchronous Syntax
 **/
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-9455492-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
/**
 * Google Analytics - The Asynchronous Syntax
 **/

var printVersion;

window.onload = init;


function init() {
	if (! printVersion) {
		attachDropEvents();
		initNavImages();
	}
}

var hideDrop;
var navImgs = new Array();

function attachDropEvents() {
   var nav = document.getElementById("nav").getElementsByTagName("a");
   for (var i=0;i<nav.length;i++) {
      if (nav[i].className && nav[i].className.match("subitem")) {
         nav[i].onmouseover = resetSubDrop;
      }
      if (nav[i].className && nav[i].className.match("subb")) {
         nav[i].onmouseover = subDrop;
      }
   }
   var navimg = document.getElementById("nav").getElementsByTagName("img");
   for (var i=0;i<navimg.length;i++) {
      navimg[i].onmouseover = drop;
   }
   document.getElementById("inv-top").onmouseover = initResetDrop;
   document.getElementById("inv-bottom").onmouseover = initResetDrop;
   if (document.getElementById("start-nav")) {
      var nav = document.getElementById("start-nav").getElementsByTagName("a");
      for (var i=0;i<nav.length;i++) {
         if (!nav[i].className) {
            nav[i].onmouseover = startDrop;
         }
      }
   }
   if (document.getElementById("tabs")) {
      var tabs = document.getElementById("tabs").getElementsByTagName("img");
      for (var i=0;i<tabs.length;i++) {
         if (tabs[i].className && tabs[i].className.match("pnt")) {
            tabs[i].onclick = loadTab;
         }
      }
   }
}

function initNavImages() {
   var imgs = document.getElementById("nav").getElementsByTagName("img");
   for (var i=0;i<imgs.length;i++) {
      navImgs[i] =imgs[i].src;
   }
}

function drop() {
   clearTimeout(hideDrop);
   resetDrop();
   document.getElementById("inv-top").style.display = "block";
   document.getElementById("inv-bottom").style.display = "block";
   var obj = (this.parentNode.nextSibling.nextSibling) ? this.parentNode.nextSibling.nextSibling : null;
   if (obj) {
      obj.style.top = findPos(this,'top')+24+"px";
      (this.className) ? (obj.style.left = findPos(this,'left')-73+"px") : (obj.style.left = findPos(this,'left')+"px");
      obj.style.display = "block";
   }
   if (document.styleSheets.length == 4) {
      this.src = this.src.split("__")[0]+"_grau__on.gif";
   } else {
      this.src = this.src.split("__")[0]+"_grau__on.gif";
   }
}

function subDrop() {
   clearTimeout(hideDrop);
   resetSubDrop();
   var obj = (this.nextSibling.nextSibling) ? this.nextSibling.nextSibling : null;
   if (obj) {
      obj.style.top = findPos2(this,'top')+1+"px";
      (this.className && this.className.match("navfix")) ? (obj.style.left = "-199px") : (obj.style.left = "199px");
      (obj.parentNode.className && obj.parentNode.className.match("longmenu")) ? (obj.style.left = "249px") : null;
      this.className = this.className+" on";
      obj.style.display = "block";
   }
}

function startDrop() {
   resetDrop();
   var obj = (this.nextSibling) ? this.nextSibling : null;
   if (obj) {
      document.getElementById("inv-top").style.display = "block";
      document.getElementById("inv-bottom").style.display = "block";
      // we have to sniff firefox here
      obj.style.top = findPos2(this,'top')+((navigator.userAgent.indexOf("Firefox")!=-1) ? 12 : 2)+"px";
      //subthemen untermenüs: left +243px
      obj.style.left = findPos2(this,'left')+243+"px";
      obj.style.display = "block";
   }
   this.childNodes[0].src = this.childNodes[0].src.split("__")[0]+"__on.gif";
}

function initResetDrop() {
   hideDrop = setTimeout("resetDrop()", 220); // 612
}

function resetDrop() {
   resetSubDrop();
   document.getElementById("inv-top").style.display = "none";
   document.getElementById("inv-bottom").style.display = "none";
   var els = document.getElementById("nav").getElementsByTagName("div");
   for (var i=0;i<els.length;i++) {
      if ((els[i].className) && (els[i].className.match("drop"))) {
         els[i].style.display = "none";
      }
   }
   var els2 = document.getElementById("nav").getElementsByTagName("img");
   for (var i=0;i<els2.length;i++) {
      els2[i].src = navImgs[i];
   }
}

function resetSubDrop() {
   clearTimeout(hideDrop);
   resetStartDrop()
   var els = document.getElementById("nav").getElementsByTagName("div");
   for (var i=0;i<els.length;i++) {
      if ((els[i].className) && (els[i].className.match("sub-drop"))) {
         els[i].style.display = "none";
      }
   }
   var els2 = document.getElementById("nav").getElementsByTagName("a");
   for (var i=0;i<els2.length;i++) {
      if ((els2[i].className) && (els2[i].className.match("on"))) {
         (els2[i].className.match("navfix")) ? els2[i].className = "subb navfix" : els2[i].className = "subb";
      }
   }
}

function resetStartDrop() {
   if (!document.getElementById("start-nav")) return;
   clearTimeout(hideDrop);
   var els = document.getElementById("start-nav").getElementsByTagName("div");
   for (var i=0;i<els.length;i++) {
      if ((els[i].className) && (els[i].className.match("drop"))) {
         els[i].style.display = "none";
      }
   }
   var els2 = document.getElementById("start-nav").getElementsByTagName("img");
   for (var i=0;i<els2.length;i++) {
      els2[i].src = els2[i].src.split("__")[0]+"__off.gif";
   }
}

function findPos(obj,pos) {
   var posXY = (pos == 'left') ? "x" : "y";
   var posOffset = (pos == 'left') ? "offsetLeft" : "offsetTop";
   var curpos = 0;
   if (obj.offsetParent) {
      while (obj.offsetParent) {
         curpos += obj[posOffset];
         obj = obj.offsetParent;
      }
   } else if (obj[posXY])
      curpos += obj[posXY];
   return curpos;
}

function findPos2(obj,pos) {
   var posXY = (pos == 'left') ? "x" : "y";
   var posOffset = (pos == 'left') ? "offsetLeft" : "offsetTop";
   var curpos = 0;
   if (obj.offsetParent) {
         curpos += obj[posOffset];
         obj = obj.offsetParent;
   } else if (obj[posXY])
      curpos += obj[posXY];
   return curpos;
}

function loadTab() {
   var tabs = document.getElementById("tabs").getElementsByTagName("div");
   for (var i=0;i<tabs.length;i++) {
      if (tabs[i].className && tabs[i].className.match("tab-cont")) {
         tabs[i].style.display = "none";
      }
   }
   document.getElementById(this.id.replace("tab","cont")).style.display = "block";
   var prev, next;
   if (document.all) {
      prev = (this.previousSibling) ? this.previousSibling.previousSibling : null;
      next = (this.nextSibling.nextSibling) ? this.nextSibling.nextSibling : null;
   } else {
      prev = (this.previousSibling.previousSibling) ? this.previousSibling.previousSibling : null;
      next = (this.nextSibling.nextSibling) ? this.nextSibling.nextSibling : null;
   }
   document.getElementById("tab-1").src = document.getElementById("tab-1").src.split("__")[0]+"__off.gif";
   document.getElementById("tab-2").src = document.getElementById("tab-2").src.split("__")[0]+"__off.gif";
   document.getElementById("tab-3").src = document.getElementById("tab-3").src.split("__")[0]+"__off.gif";
   document.getElementById("sep-1").src = document.getElementById("sep-1").src.split("__")[0]+"__off.gif";
   document.getElementById("sep-2").src = document.getElementById("sep-2").src.split("__")[0]+"__off.gif";
   this.src = this.src.split("__")[0]+"__on.gif";
   (prev) ? (prev.src = prev.src.split("__")[0]+"__before.gif") : null;
   (next) ? (next.src = next.src.split("__")[0]+"__after.gif") : null;
}


/**
 * FLASH OBJECT hr@netural 16-06-2006
 **/

function flashObj(src,title,width,height,reqVersion,altImage,altLink,urlparameter) {
   this.str = "";
   this.src = src;
   this.title = title;
   this.width = width;
   this.height = height;
   this.reqVersion = reqVersion;
   this.altImage = altImage;
   this.altLink = altLink;
   this.urlparameter = urlparameter;
}

flashObj.prototype = {
   write: function(bgcolor,wmode) {
      flashVersion = this.getFlashVersion();
      if (flashVersion >= this.reqVersion) {
         bgcolor = bgcolor ? bgcolor : "#fff";
         wmode = wmode ? wmode : "transparent";
         this.str += "<object";
         this.writeParameter("classid","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000");
         this.writeParameter("codebase","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0");
         if (this.width) {this.writeParameter("width",this.width);}
         if (this.Height) {this.writeParameter("height",this.height);}
         this.writeParameter("id",this.title);
         this.str += ">";
         this.writeObjectParameter("allowScriptAccess","sameDomain");
         this.writeObjectParameter("movie",this.src);
         this.writeObjectParameter("quality","high");
         this.writeObjectParameter("wmode",wmode);
         if (this.urlparameter)
            this.writeObjectParameter("FlashVars","&"+this.urlparameter);
         this.writeObjectParameter("bgcolor",bgcolor);
         this.writeObjectParameter("allowScriptAccess","sameDomain");
         this.str += "<embed"
         this.writeParameter("src",this.src+((this.urlparameter) ? "?"+this.urlparameter : ""));
         this.writeParameter("quality","high");
         this.writeParameter("wmode",wmode);
         this.writeParameter("bgcolor",bgcolor);
         if (this.width) {this.writeParameter("width",this.width);}
         if (this.Height) {this.writeParameter("height",this.height);}
         this.writeParameter("name",this.title);
         this.writeParameter("allowScriptAccess","sameDomain");
         this.writeParameter("type","application/x-shockwave-flash");
         this.writeParameter("pluginspage","http://www.macromedia.com/go/getflashplayer");
         this.str += " /></object>";
         document.write(this.str);
      } else if (this.altImage) {
         if (this.altLink) {
            document.write("<a href=\""+this.altLink+"\">");
         }
         document.write("<img src=\""+this.altImage+"\" id=\""+this.title+"\" width=\""+this.width+"\" height=\""+this.height+"\" border=\"0\" />");
         if (this.altLink) {
            document.write("</a>");
         }
      }
   },

   writeObjectParameter: function(param, value) {
      this.str += "<param name=\""+param+"\" value=\""+value+"\"/>";
   },

   writeParameter: function(param, value) {
      this.str += " "+param+"=\""+value+"\"";
   },

   getFlashVersion: function() {
      var flashVersion = 0;
      var agent = navigator.userAgent.toLowerCase();
      if (agent.indexOf("mozilla/3") != -1 && agent.indexOf("msie") == -1) {
         return flashVersion;
      }
      if (navigator.plugins != null && navigator.plugins.length > 0) {
         var flashPlugin = navigator.plugins['Shockwave Flash'];
         if (typeof flashPlugin == 'object') {
            for (i=25;i>0;i--) {
               if (flashPlugin.description.indexOf(i+'.') != -1) {
                  flashVersion = i;
               }
            }
         }
      } else if ((agent.indexOf("msie") != -1) && (parseInt(navigator.appVersion) >= 4) && (agent.indexOf("win") != -1) && (agent.indexOf("16bit") == -1)) {
         flashVersion = this.getIEFlashVersion();
      }
      return flashVersion;
   },

   getIEFlashVersion: function() {
      var swfObj, flashVersion;
      for (i=0;i<25;i++) {
         try {
            swfObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
         } catch(e) {}
         if (swfObj) {
            flashVersion = swfObj.GetVariable("$version").split(" ")[1].split(",")[0];
         }
      }
      return (flashVersion);
   }
}

// show big image with blue footer
function showBigImageAlttext(imageurl,alttext,imgDesc,xres,yres) {

   // set web root if image comes from grafiker
	var medienDb = imageurl.indexOf("/");
	if (medienDb<0)	{
		if (location.href.lastIndexOf("/index.php")>0) {
			imageurl = location.href.substring(0, location.href.length-9) + imageurl;
		} else {
			imageurl = location.href + imageurl;
		}
	}

	// set popup props for different browsers
	if (document.all) {
   	var offsetWidth  = 36;
	  var offsetHeight = 248;
	} else {
		var offsetWidth  = 17;
		var offsetHeight = 242;
	}

	var ns6 = (!document.all && document.getElementById);
	var ie4 = (document.all);
	var ns4 = (document.layers);

	var sWidth=0;
	var	sHeight=0;
	if(ns6||ns4) {
		sWidth   = innerWidth;
		sHeight  = innerHeight;
	} else {
		if(ie4) {
			sWidth = document.body.clientWidth;
			sHeight = document.body.clientHeight;
		}
	}

  	var window_x 			= parseInt(xres)+27;
	var window_y 			= parseInt(yres)+(imgDesc != "" ? 200 : 75);
   var w = parseInt(screen.availWidth / 2 - window_x / 2);
   var h = parseInt(screen.availHeight / 2 - window_y / 2);

	var window_properties 	= "width=" + window_x + ",height=" + window_y + ",menubar=no,resizable=yes,scrollbars=yes,statusbars=no,left="+w+",top="+h;


	// set image props
	var image_desc 			= imgDesc;
	var image_url			= imageurl;

	var uCropUsed = imageurl.search(/_\d{1,4}x\d{1,4}\+\d{1,4}\+\d{1,4}\.....?/);
	if (uCropUsed > -1) {
		var spacer = imageurl.indexOf("x", uCropUsed+1);
		xres = parseInt(imageurl.substr(uCropUsed+1, spacer-uCropUsed-1));
		yres = parseInt(imageurl.substr(spacer+1, imageurl.indexOf("+", spacer+1)-spacer-1));
	}

	var win = window.open("","Image",window_properties);
    with (win.document) {
       open("text/html", "replace");

		write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"><html><head><title>");
		write(image_desc);
		write("</title><link rel=\"STYLESHEET\" type=\"text/css\" href=\"" + "/_css/global.css\"></head>");
		write("<body class=\"popup\"><table width=\"" + xres + "\" border=\"0\" cellspacing=\"0\" align=\"center\" cellpadding=\"0\">");

		write("<tr class=\"popUpBgDark\"><td class=\"indentPopUp\" align=\"right\" valign=\"top\"><a href=\"javascript:window.close();\"><img src=\"/_img/galerien/ico_schliessen.gif\" width=\"11\" height=\"11\" border=\"0\"></a></td></tr>");

		write("<tr class=\"bgSpace\"><td height=\"5\"></td></tr>");
		write("<tr>");
		write("<td align=\"center\"><img src=\"" + image_url + "\" border=\"0\" id=\"zoomimage\" alt=\"" + alttext + "\"></td>");
		write("</tr>");
		write("<tr class=\"bgSpace\"><td height=\"6\"></td></tr>");
		write("<tr class=\"popUpBgDark\"><td height=\"1\"></td></tr>");

		if (image_desc != "") {
			write("<tr class=\"bgSpace\">");
			write("  <td height=\"120\" style=\"height: 120px\" valign=\"top\" class=\"indentPopUp\">");
			write("    	<span class=\"galerieText\">" + image_desc + "</span><br>");
			write("  </td>");
			write("</tr>");
			}
		write("<tr class=\"bgSpace\" height=\"6\"><td></td></tr>");
		write("<tr class=\"popUpBgLight\" height=\"25\"><td></td></tr>");
		write("</table>");
		write("</body>");
		write("</html>");
       close();
	}
}
// end show big image with blue footer



// open pop up on screen center
function centerPopup(width, height) {
	var ns6 = (!document.all && document.getElementById);
	var ie4 = (document.all);
	var ns4 = (document.layers);

	if(ns6||ns4) {
		sWidth   = innerWidth;
		sHeight  = innerHeight;
	} else {
		if(ie4) {
			sWidth = document.body.clientWidth;
			sHeight = document.body.clientHeight;
		}
	}
	x = (sWidth  - width )/2;
	y = (sHeight - height)/2;
	props = "left=" + x + ",top=" + y + ",screenX=" + x + ",screenY=" + y + ",width=" + width + ",height=" + height;
	return props;
}
// end open pop up on screen center



// open popup
function openPopup(url, width, height){
  var window_properties = centerPopup(width, height) + ",menubar=no,location=no,toolbar=no,resizable=no,scrollbars=no,status=no";
  var win = window.open(url, '', window_properties);
  win.focus();
}
// end open popup


// edit mode
function resizeTextarea(formObj){
	var formObjValue = new String(formObj.value);
	formObj.rows = formObjValue.length/formObj.cols + 2;
}
// end edit mode

debug = function(msg) {
   return;
   !msg ? (msg = "DEBUG") : null;
   if (!document.getElementById("debug")) {
      var debug = document.createElement("div");
      debug.id = "debug";
      document.body.appendChild(debug);
   }
   document.getElementById("debug").innerHTML = msg + "<hr />" + document.getElementById("debug").innerHTML;
}



function mClick(element) {

	id = element.id.substr(1);
	bit = document.getElementById("p" + id);
	design = "standard";

	if (bit.style.display == "none") {
		bit.style.display = "";
		parent.document.images["i" + id].src = "/_img/" + design + "/nav_ico4_minus.gif";
	} else {
		bit.style.display = "none";
		parent.document.images["i" + id].src = "/_img/" + design + "/nav_ico4_plus.gif";
	}

}




/**
 * ListManager
 * dynamic js list for edit mode
 * selecting persons from a dropdown and save it in a
 * hidden field display with an ul list.
 */
function ListManager(listElId, selectElId, inputElId) {

    this.listElId = listElId;
    this.selectElId = selectElId;
    this.inputElId = inputElId;

    this.addToList = function(elId) {
        var el = document.getElementById(this.selectElId);

        var id = el.options[el.selectedIndex].value;
        var text = el.options[el.selectedIndex].innerHTML;
        var data = id + '|' + text;

        if (id && ! document.getElementById(this.inputElId + '_' + id)) {
            this.renderItem(data);
            this.saveListToInput();
        }
    }

    this.renderItem = function(data) {
        var li = document.createElement('li');
        var img = document.createElement('img');
        var span = document.createElement('span');

        li.pData = data;
        data = data.split('|');

        img.src = '/_img/icon_del.gif';
        img.onclick = ListManager_removeFromList;
        img.id = this.inputElId + '_' + data[0];
        img.objName =  this.listElId;

        li.id = 'li_' + this.inputElId + '_' + data[0];
        span.innerHTML = data[2] + ' ' +  data[1] + ' ' + data[3];

        if (data.length != 5) {
            span.innerHTML = data;
            span.style.color = 'red';
        }

        li.appendChild(img);
        li.appendChild(span);

        document.getElementById(this.listElId).appendChild(li);
    }

    this.saveListToInput = function() {
        var childNodes = document.getElementById(this.listElId).getElementsByTagName('li');
        var value = '';
        for(i in childNodes) {
            if (childNodes[i].id && childNodes[i].pData) {
                value += childNodes[i].pData + ';';
            }
        }
        document.getElementById(this.inputElId).value = value;
    }

    this.renderFromInput = function() {
        var input = document.getElementById(this.inputElId);
        var list = document.getElementById(this.listElId);

        list.innerHTML = '';
        persons = input.value.split(';');

        for(i in persons) {
            if (persons[i] != '') {
                this.renderItem(persons[i]);
            }
        }
    }

    this.findNameInSelect = function(personId) {
        if (personId) {
            var selectEl = document.getElementById(this.selectElId);

            // todo: make faster
            for(i in selectEl.options) {
                if (selectEl.options[i] && selectEl.options[i].value == personId) {
                    return selectEl.options[i].innerHTML;
                }
            }

        }
        return false;
    }
}


ListManager_removeFromList = function(event) {
    if (event && event.target) {
        var target = event.target;
    } else {
        var target = window.event.srcElement;
    }

    if (target) {
        eval("var listObj = " + target.objName + ";");

        var inputEl = document.getElementById(listObj.inputElId);
        var remId = target.id.replace(listObj.inputElId + '_','');

        var inputValue = inputEl.value.split(';');
        for(i in inputValue) {
            if (inputValue[i].indexOf(remId) >= 0) {
                inputValue.splice(i,1);
                break;
            }
        }

        inputEl.value = inputValue.join(';');
        var li = document.getElementById('li_' + listObj.inputElId + '_' + remId);
        li.parentNode.removeChild(li);

    }
}


// namespace mt = masterthesen
var mt = {
    items: new Array(),
    tutorSelectId: 'mt_tutor',
    stateSelectId: 'mt_state',
    sortSelectId: 'mt_sort',
    tutors: new Array(),
    states: new Array(),
    generateTutorOptions: function() {
        for(i in this.items) {
            var t = this.items[i].getAttribute('tutor').split('|');
            for(var e=0;e<t.length;e++) {
                t[e] = t[e].replace(/(^\s+|\s+$)/g,''); // trim
                if (t[e]) {
                    var inArray = false;
                    for(var s in this.tutors) {
                        if (this.tutors[s] == t[e]) {
                            inArray = true;
                            break;
                        }
                    }
                    if (! inArray) {
                        this.tutors[this.tutors.length] = t[e]; // t[e]
                    }
                }
            }
            var state = this.items[i].getAttribute('state');
            state = state.replace(/(^\s+|\s+\$)/g,''); // trim
            this.states[state] = state;
        }
        this.tutors.sort();
        for(t in this.tutors) {
            var option = document.createElement('option');
            option.value = this.tutors[t];
            option.innerHTML = this.tutors[t];

            document.getElementById(this.tutorSelectId).appendChild(option);
        }
        for(t in this.states) {
            var option = document.createElement('option');
            option.value = this.states[t];
            option.innerHTML = this.states[t];

            document.getElementById(this.stateSelectId).appendChild(option);
        }
    },
    getItems: function() {
        var el = document.getElementsByTagName("div");
        for (var i=0;i<el.length;i++) {
            if (el[i].className && el[i].className.match("mt")) {
                this.items[el[i].id.replace(/mt_/,'')] = el[i];
            }
        }
    },
    clearItems: function() {
        var el = document.getElementsByTagName("div");
        for (var i=0;i<el.length;i++) {
            if (el[i].className && el[i].className.match("mt")) {
                el[i].parentNode.removeChild(el[i]);
            }
        }
    },
    renderItems: function() {
        for(i in this.items) {
            document.getElementById('mt_items').appendChild(this.items[i]);
        }
    },
    filter: function() {

        var stateSel = document.getElementById(this.stateSelectId);
        var tutorSel = document.getElementById(this.tutorSelectId);

        var filterState = stateSel.options[stateSel.options.selectedIndex].value;
        var filterTutor = tutorSel.options[tutorSel.options.selectedIndex].value;

        for(i in this.items) {

            this.items[i].style.display = 'none';

            if (filterTutor && filterState) {

                if (this.items[i].getAttribute('tutor').match(filterTutor) &&
                    this.items[i].getAttribute('state').match(filterState)) {

                    this.items[i].style.display = 'block';
                }

            } else if (filterTutor || filterState) {

                if (filterTutor) {
                    if (this.items[i].getAttribute('tutor').match(filterTutor)) {
                        this.items[i].style.display = 'block';
                    }
                }

                if (filterState) {
                    if (this.items[i].getAttribute('state').match(filterState)) {
                        this.items[i].style.display = 'block';
                    }
                }

            } else {
                this.items[i].style.display = 'block';
            }

        }
    },
    sortItems: function() {
        this.items.sort(doSortItems);

        var sortEl = document.getElementById(mt.sortSelectId);
        var sortValue = sortEl.options[sortEl.options.selectedIndex].value;
        if (sortValue == 'date' || sortValue == 'state') {
            this.items.reverse();
        }

        this.clearItems();
        this.renderItems();
    }
}

function doSortItems(a, b) {
    var sortEl = document.getElementById(mt.sortSelectId);
    var sortValue = sortEl.options[sortEl.options.selectedIndex].value;

    // primary sort criteria
    if (a.getAttribute(sortValue) > b.getAttribute(sortValue)) {
        return 1;
    }

    if (a.getAttribute(sortValue) < b.getAttribute(sortValue)) {
        return -1;
    }

    // second sort criteria
    if (a.getAttribute('title') > b.getAttribute('title')) {
        return 1;
    }

    if (a.getAttribute('title') < b.getAttribute('title')) {
        return -1;
    }

    return 0;
}
/* TABNAVIGATION - FLEXMODUL */

function setRandomTab(flexid) {
    var tab = document.getElementById("tabbers-"+flexid);
    var tabs = tab.getElementsByTagName("li");
    return Math.floor(Math.random()*tabs.length);
}

function setTab(x,flexid) {
  if (x=="rand") {
    x=setRandomTab(flexid);
  }
  //Tabulatoren bei pageload reseten
  resetTabs(flexid);
  var tab = document.getElementById("tabbers-"+flexid);
  var tabs = tab.getElementsByTagName("li")[x];

  tabs.setAttribute("id", "current");

  setactiveTab(x,flexid);

  //aktiven Tab mit id=current versehen

}

function resetTabs(flexid) {
  var tab = document.getElementById("tabbers-"+flexid);
  var tabs = tab.getElementsByTagName("li");
      for (var i=0;i<tabs.length; i++)
      {
        tabs[i].removeAttribute("id");
      }
}

function setactiveTab(x,flexid) {
  var tab = document.getElementById("tabbers-"+flexid);
  var tabs = tab.getElementsByTagName("li");

  var rand = Math.floor(Math.random()*tabs.length);

  for (var i=0;i<tabs.length; i++) {
     document.getElementById("tabcont-"+flexid+"-"+i).style.display="none";
    }
    document.getElementById("tabcont-"+flexid+"-"+x).style.display="block";
}

/* TABNAVIGATION - FLEXMODUL ENDE */
