var qtButtons=new Array();var qtOpenTags=new Array();var height_max=30;var height_min=5;var height_step=5;
function qtButton(id,display,tagStart,tagEnd,title,access,open){this.id=id;this.display=display;this.tagStart=tagStart;this.tagEnd=tagEnd;this.title=title;this.access=access;this.open=open;}qtButtons.push(new qtButton('qt_bold','Fett','<strong>','</strong>','Fettschrift','b'));qtButtons.push(new qtButton('qt_italic','Kursiv','<em>','</em>','Kursivschrift','k'));qtButtons.push(new qtButton('qt_block','Zitat','<blockquote>','</blockquote>','Zitieren','z'));qtButtons.push(new qtButton('qt_code','Code','<code>','</code>','Code','c'));qtButtons.push(new qtButton('qt_link','Link','','</a>','Link einf&uuml;gen','l'));qtButtons.push(new qtButton('qt_increase','+','','','Textfeld vergr&ouml;&szlig;ern','l',-1));qtButtons.push(new qtButton('qt_decrease','-','','','Textfeld verkleinern','l',-1));
function displayQuicktags(textareaID){textarea_id=textareaID;for(i=0;i<qtButtons.length;i++){qtShowButton(qtButtons[i],i);}}
function qtTextareaSize(type){var height_current=document.getElementById(textarea_id).rows;switch(type){case'increase':if((height_current+height_step)>height_max){var my_heightchange=height_max;}else{var my_heightchange=height_current+height_step;}break;case'decrease':if((height_current-height_step)<height_min){var my_heightchange=height_min;}else{var my_heightchange=height_current-height_step;}break;default:break;}document.getElementById(textarea_id).rows=my_heightchange;}
function qtInsertLink(myField,i,defaultValue){if(!defaultValue){defaultValue='http://';}if(!qtCheckOpenTags(i)){var URL=prompt('URL:',defaultValue);if(URL){qtButtons[i].tagStart='<a href="'+URL+'">';qtInsertTag(myField,i);}}else{qtInsertTag(myField,i);}}
function qtShowButton(button,i){if(button.access){var accesskey=' accesskey = "'+button.access+'"'}else{var accesskey='';}if(button.title){var titlevalue=' title = "'+button.title+'"'}else{var titlevalue='';}switch(button.id){case'qt_close':document.write('<input type="button" id="'+button.id+'" '+accesskey+titlevalue+' class="qt_button" onclick="qtCloseAllTags();" value="'+button.display+'" />');break;case'qt_link':document.write('<input type="button" id="'+button.id+'" '+accesskey+titlevalue+' class="qt_button" onclick="qtInsertLink(document.getElementById(textarea_id), '+i+');" value="'+button.display+'" />');break;case'qt_increase':document.write('<input type="button" id="'+button.id+'" '+accesskey+titlevalue+' class="qt_button" onclick="qtTextareaSize(\'increase\');" value="'+button.display+'" />');break;case'qt_decrease':document.write('<input type="button" id="'+button.id+'" '+accesskey+titlevalue+' class="qt_button" onclick="qtTextareaSize(\'decrease\');" value="'+button.display+'" />');break;default:document.write('<input type="button" id="'+button.id+'" '+accesskey+titlevalue+' class="qt_button" onclick="qtInsertTag(document.getElementById(textarea_id), '+i+');" value="'+button.display+'" />');break;}}
function qtAddTag(button){if(qtButtons[button].tagEnd!=''){qtOpenTags[qtOpenTags.length]=button;document.getElementById(qtButtons[button].id).value='/'+document.getElementById(qtButtons[button].id).value;}}
function qtRemoveTag(button){for(i=0;i<qtOpenTags.length;i++){if(qtOpenTags[i]==button){qtOpenTags.splice(i,1);document.getElementById(qtButtons[button].id).value=document.getElementById(qtButtons[button].id).value.replace('/','');}}}
function qtCheckOpenTags(button){var tag=0;for(i=0;i<qtOpenTags.length;i++){if(qtOpenTags[i]==button){tag++;}}if(tag>0){return true;}else{return false;}}
function qtCloseAllTags(){var count=qtOpenTags.length;for(o=0;o<count;o++){qtInsertTag(document.getElementById(textarea_id),qtOpenTags[qtOpenTags.length-1]);}}
function qtInsertTag(myField,i){if(document.selection){myField.focus();sel=document.selection.createRange();if(sel.text.length>0){sel.text=qtButtons[i].tagStart+sel.text+qtButtons[i].tagEnd;}else{if(!qtCheckOpenTags(i)||qtButtons[i].tagEnd==''){sel.text=qtButtons[i].tagStart;qtAddTag(i);}else{sel.text=qtButtons[i].tagEnd;qtRemoveTag(i);}}myField.focus();}else if(myField.selectionStart||myField.selectionStart=='0'){var startPos=myField.selectionStart;var endPos=myField.selectionEnd;var cursorPos=endPos;var scrollTop=myField.scrollTop;if(startPos!=endPos){myField.value=myField.value.substring(0,startPos)+qtButtons[i].tagStart+myField.value.substring(startPos,endPos)+qtButtons[i].tagEnd+myField.value.substring(endPos,myField.value.length);cursorPos+=qtButtons[i].tagStart.length+qtButtons[i].tagEnd.length;}else{if(!qtCheckOpenTags(i)||qtButtons[i].tagEnd==''){myField.value=myField.value.substring(0,startPos)+qtButtons[i].tagStart+myField.value.substring(endPos,myField.value.length);qtAddTag(i);cursorPos=startPos+qtButtons[i].tagStart.length;}else{myField.value=myField.value.substring(0,startPos)+qtButtons[i].tagEnd+myField.value.substring(endPos,myField.value.length);qtRemoveTag(i);cursorPos=startPos+qtButtons[i].tagEnd.length;}}myField.focus();myField.selectionStart=cursorPos;myField.selectionEnd=cursorPos;myField.scrollTop=scrollTop;}else{if(!qtCheckOpenTags(i)||qtButtons[i].tagEnd==''){myField.value+=qtButtons[i].tagStart;qtAddTag(i);}else{myField.value+=qtButtons[i].tagEnd;qtRemoveTag(i);}myField.focus();}}
function qtInsertContent(myField,myValue){if(document.selection){myField.focus();sel=document.selection.createRange();sel.text=myValue;myField.focus();}else if(myField.selectionStart||myField.selectionStart=='0'){var startPos=myField.selectionStart;var endPos=myField.selectionEnd;var scrollTop=myField.scrollTop;myField.value=myField.value.substring(0,startPos)+myValue+myField.value.substring(endPos,myField.value.length);myField.focus();myField.selectionStart=startPos+myValue.length;myField.selectionEnd=startPos+myValue.length;myField.scrollTop=scrollTop;}else{myField.value+=myValue;myField.focus();}}
function linkopener(a) {var b=a?"_blank":"_self";var c=document.links;for(var i=0;i<c.length;i++) {if(c[i].href.search("webseiten-infos.de")==-1) {c[i].target=b;}}}
function linkcookie() {if(document.cookie.indexOf('externoeffnen') !== -1){document.cookie = 'extern=0;path=/;expires=Thu, 01-Jan-70 00:00:01 GMT';} else {document.cookie='extern=externoeffnen; path =/';}}
function addEvent(obj, evType, fn){if (obj.addEventListener){obj.addEventListener(evType, fn, false);return true;} else if (obj.attachEvent){var r = obj.attachEvent("on"+evType, fn);return r;} else {return false;}}
var sOnlyInThisID = '';function FancyTooltips(sTemplate, nDelay, nStringMaxLength, nMarginX, nMarginY, sContainerID, sClassName){var oTimer;var isActive = false;var sNameSpaceURI = "http://www.w3.org/1999/xhtml";if(!sTemplate){ sTemplate = "attr(fancytooltip)";}
if(!nDelay || nDelay <= 0){ nDelay = false;}
if(!nStringMaxLength){ nStringMaxLength = 255;}
if(!nMarginX){ nMarginX = 15; }
if(!nMarginY){ nMarginY = 35; }
if(!sContainerID){ sContainerID = "fancytooltipcontainer";}
if(!sClassName){ sClassName = "fancytooltip";}
var oContainer = document.getElementById(sContainerID);if(!oContainer){oContainer = document.createElementNS ? document.createElementNS(sNameSpaceURI, "div") : document.createElement("div");oContainer.setAttribute("id", sContainerID);oContainer.className = sClassName;oContainer.style.display = "none";document.getElementsByTagName("body").item(0).appendChild(oContainer);}
this.addElements = function addElements(collNodes, sAttribute){var currentNode, sTitle;for(var i = 0; i < collNodes.length; i++){currentNode = collNodes[i];sTitle = currentNode.getAttribute(sAttribute);if(sTitle){currentNode.setAttribute("fancytooltip", sTitle);currentNode.removeAttribute(sAttribute);addEvent(currentNode, 'mouseover', show);addEvent(currentNode, 'mouseout', hide);addEvent(currentNode, 'focus', show);addEvent(currentNode, 'blur', hide);}}}
function show(e){if(isActive){ hide(); }
var oNode = window.event ? window.event.srcElement : e.currentTarget;if(!oNode.getAttribute("fancytooltip")){while(oNode.parentNode){oNode = oNode.parentNode;if(oNode.getAttribute("fancytooltip")){ break;	}}}
var sOutput = parseTemplate(oNode);setContainerContent(sOutput);var oPosition = getPosition(e, oNode);oContainer.style.left = oPosition.x;oContainer.style.top = oPosition.y;if(nDelay){oTimer = setTimeout(function(){oContainer.style.display = "block";}, nDelay);} else {oContainer.style.display = "block";}
isActive = true;window.event ? window.event.cancelBubble = true : e.stopPropagation();}
function hide(){clearTimeout(oTimer);oContainer.style.display = "none";removeContainerContent();isActive = false;}
function setContainerContent(sOutput){sOutput = sOutput.replace(/&/g, "&amp;");if(document.createElementNS && window.DOMParser){var oXMLDoc = (new DOMParser()).parseFromString("<root xmlns=\""+sNameSpaceURI+"\">"+sOutput+"</root>", "text/xml");var oOutputNode = document.importNode(oXMLDoc.documentElement, true);var oChild = oOutputNode.firstChild;var nextChild;while(oChild){nextChild = oChild.nextSibling;oContainer.appendChild(oChild);oChild = nextChild;}
} else {oContainer.innerHTML = sOutput;}}
function removeContainerContent(){var oChild = oContainer.firstChild;var nextChild;if(!oChild){ return; }
while(oChild){nextChild = oChild.nextSibling;oContainer.removeChild(oChild);oChild =  nextChild;}}
function getPosition(e, oNode){var oViewport = getViewport();var oCoords;var commonEventInterface = window.event ? window.event : e;if(commonEventInterface.type == "focus"){oCoords = getNodePosition(oNode);oCoords.x += nMarginX;oCoords.y += nMarginY;} else {oCoords = { x : commonEventInterface.clientX + oViewport.x + nMarginX, y : commonEventInterface.clientY + oViewport.y + nMarginY};}
oContainer.style.visiblity = "hidden";oContainer.style.display =  "block";var containerWidth = oContainer.offsetWidth;var containerHeight = oContainer.offsetHeight;oContainer.style.display = "none";oContainer.style.visiblity = "visible";if(oCoords.x + containerWidth + 10 >= oViewport.width + oViewport.x){oCoords.x = oViewport.width + oViewport.x - containerWidth - 10;}
if(oCoords.y + containerHeight + 10 >= oViewport.height + oViewport.y){oCoords.y = oViewport.height + oViewport.y - containerHeight - oNode.offsetHeight - 10;}
oCoords.x += "px";oCoords.y += "px";return oCoords;}
function parseTemplate(oNode){var sAttribute, collOptionalAttributes;var oFound = {};var sResult = sTemplate;
if(sResult.match(/content\(\)/)){sResult = sResult.replace(/content\(\)/g, getContentOfNode(oNode));}
var collSearch = sResult.split(/attr\(/);for(var i = 1; i < collSearch.length; i++){sAttribute = collSearch[i].split(")")[0];oFound[sAttribute] = oNode.getAttribute(sAttribute);if(oFound[sAttribute] && oFound[sAttribute].length > nStringMaxLength){oFound[sAttribute] = oFound[sAttribute].substring(0, nStringMaxLength) + "...";}}
var collOptional = sResult.split("?")
for(var i = 1; i < collOptional.length; i += 2){collOptionalAttributes = collOptional[i].split("attr(");for(var j = 1; j < collOptionalAttributes.length; j++){sAttribute = collOptionalAttributes[j].split(")")[0];if(!oFound[sAttribute]){ sResult = sResult.replace(new RegExp("\\?[^\\?]*attr\\("+sAttribute+"\\)[^\\?]*\\?", "g"), "");}}}
sResult = sResult.replace(/\?/g, "");for(sAttribute in oFound){sResult = sResult.replace("attr\("+sAttribute+"\)", oFound[sAttribute]);}
return sResult;}
function getContentOfNode(oNode){var sContent = "";var oSearch = oNode.firstChild;while(oSearch){if(oSearch.nodeType == 3){sContent += oSearch.nodeValue;} else if(oSearch.nodeType == 1 && oSearch.hasChildNodes){sContent += getContentOfNode(oSearch);}
oSearch = oSearch.nextSibling}
return sContent;}
function getNodePosition(oNode){var x = 0;var y = 0;do {if(oNode.offsetLeft){ x += oNode.offsetLeft }
if(oNode.offsetTop){ y += oNode.offsetTop }
}	while((oNode = oNode.offsetParent) && !document.all)return {x : x, y : y}}
function getViewport(){var width = 0;var height = 0;var x = 0;var y = 0;if(document.documentElement && document.documentElement.clientWidth){width = document.documentElement.clientWidth;height = document.documentElement.clientHeight;x = document.documentElement.scrollLeft;y = document.documentElement.scrollTop;} else if(document.body && document.body.clientWidth){width = document.body.clientWidth;height = document.body.clientHeight;x = document.body.scrollLeft;y = document.body.scrollTop;}
if(window.innerWidth){width = window.innerWidth - 18;height = window.innerHeight - 18;}
if(window.pageXOffset){x = window.pageXOffset;y = window.pageYOffset;} else if(window.scrollX){x = window.scrollX;y = window.scrollY;}
return {width : width, height : height, x : x, y : y };}}
function addEvent(obj, evType, fn){if(obj.addEventListener){obj.addEventListener(evType, fn, false);return true;} else if (obj.attachEvent){var r = obj.attachEvent('on'+evType, fn);return r;} else {return false;}}
Date.prototype.toTimeSinceString = function(nLimit, sBetween, sLastBetween){if(!nLimit){ nLimit = 2; }
if(!sBetween){ sBetween = ", "; }
if(!sLastBetween){ sLastBetween = " and "; }
if(!Date.prototype.toTimeSinceString._collStructs){Date.prototype.toTimeSinceString._collStructs = new Array({seconds: 60 * 60 * 24 * 365, name: "year"},{seconds: 60 * 60 * 24 * 30, name: "month"},{seconds: 60 * 60 * 24 * 7, name: "week"},{seconds: 60 * 60 * 24, name: "day"},{seconds: 60 * 60, name: "hour"},{seconds: 60, name: "minute"}
);}
var collStructs = Date.prototype.toTimeSinceString._collStructs;var nSecondsRemain = ((new Date).valueOf() - this.valueOf()) / 1000;var sReturn = "";var nCount = 0;var nFloored;for(var i = 0; i < collStructs.length && nCount < nLimit; i++){nFloored = Math.floor(nSecondsRemain / collStructs[i].seconds);if(nFloored > 0){if(sReturn.length > 0){if(nCount == nLimit - 1 || i == collStructs.length - 1){sReturn += sLastBetween;} else if(nCount < nLimit && i < collStructs.length){sReturn += sBetween;}}
sReturn += nFloored + " " + collStructs[i].name;if(nFloored > 1){sReturn += "s";}
nSecondsRemain -= nFloored * collStructs[i].seconds;nCount++;}}
return sReturn;}
FancyTooltips.autoCreation = function(){if(!document.getElementsByTagName){ return; }
function rewriteDateTime(collNodes){var nMonth, nDay, nHours, nMinutes, nSeconds, sDateTime, oDate;for(var i = 0; i < collNodes.length; i++){sDateTime = collNodes[i].getAttribute("datetime");if(sDateTime != null || sDateTime != ""){nYear = Number(sDateTime.substring(0,4));nMonth = Number(sDateTime.substring(5,7)) - 1;nDay = Number(sDateTime.substring(8,10));nHours = Number(sDateTime.substring(11, 13));nMinutes = Number(sDateTime.substring(14,16));nSeconds = Number(sDateTime.substring(17,19));oDate = new Date(nYear, nMonth, nDay, nHours, nMinutes, nSeconds);collNodes[i].setAttribute("nicetime", oDate.toTimeSinceString());collNodes[i].setAttribute("gmttime", oDate.toGMTString());}}
return collNodes;}
FancyTooltips.autoCreated = new Object();FancyTooltips.autoCreated.anchors = new FancyTooltips("<p class=\"titletext\">attr(fancytooltip)? <span class=\"accesskey\">[attr(accesskey)]</span>?</p><p class=\"destination\">attr(href)</p>", 600);FancyTooltips.autoCreated.inserts = new FancyTooltips("<p class=\"titletext\">Added attr(fancytooltip) ago</p><p class=\"destination\">Complete timestamp: attr(gmttime)</p>?<p class=\"destination\">Reason: attr(cite)</p>?", 600);FancyTooltips.autoCreated.deletions = new FancyTooltips("<p class=\"titletext\">Deleted attr(fancytooltip) ago</p><p class=\"destination\">Complete timestamp: attr(gmttime)</p>?<p class=\"destination\">Reason: attr(cite)</p>?", 600);FancyTooltips.autoCreated.acronyms = new FancyTooltips("<p class=\"titletext\">content(): attr(fancytooltip)</p>", 600);FancyTooltips.autoCreated.abbreviations = new FancyTooltips("<p class=\"titletext\">content(): attr(fancytooltip)</p>", 600);FancyTooltips.autoCreated.images = new FancyTooltips("<p class=\"titletext\">Caption: attr(fancytooltip)</p>", 600);if (sOnlyInThisID) {oNode = document.getElementById(sOnlyInThisID);} else {oNode = null;}
if (!oNode) {oNode = document;}
FancyTooltips.autoCreated.anchors.addElements(oNode.getElementsByTagName("a"), "title");FancyTooltips.autoCreated.inserts.addElements(rewriteDateTime(oNode.getElementsByTagName("ins")), "nicetime");FancyTooltips.autoCreated.deletions.addElements(rewriteDateTime(oNode.getElementsByTagName("del")), "nicetime");FancyTooltips.autoCreated.acronyms.addElements(oNode.getElementsByTagName("acronym"), "title");FancyTooltips.autoCreated.acronyms.addElements(oNode.getElementsByTagName("abbr"), "title");}
addEvent(window, "load", FancyTooltips.autoCreation);function sociable_get_selection() {if (window.getSelection)return "" + window.getSelection();else if (document.getSelection)return "" + document.getSelection();else if (document.selection)return "" + document.selection.createRange().text;}
function sociable_description_link(link, attribute) {if (typeof(link.original_link) == "undefined")link.original_link = link.href;link.href = link.original_link + "&" + attribute + "=" + sociable_get_selection();return false;}
var target, anchor, cypos, ss_stepsize, wascypos, isAbove, iscypos, isAboveNow;var ss = {fixAllLinks: function() {var allLinks = document.getElementsByTagName('a');for (var i=0;i<allLinks.length;i++) {var lnk = allLinks[i];if ((lnk.href && lnk.href.indexOf('#') != -1) && ( (lnk.pathname == location.pathname) ||('/'+lnk.pathname == location.pathname) ) && (lnk.search == location.search)) {ss.addEvent(lnk,'click',ss.smoothScroll);}}},
smoothScroll: function(e) {if (window.event) {target = window.event.srcElement;} else if (e) {target = e.target;} else {return;}
if (target.nodeName.toLowerCase() != 'a') {target = target.parentNode;}
if (target.nodeName.toLowerCase() != 'a') {return;}anchor = target.hash.substr(1);var allLinks = document.getElementsByTagName('a');var destinationLink = null;for (var i=0;i<allLinks.length;i++) {var lnk = allLinks[i];if (lnk.name && (lnk.name == anchor)) {destinationLink = lnk;break;}}
if (!destinationLink) {destinationLink = document.getElementById(anchor);}
if (!destinationLink) {return true;}
var destx = destinationLink.offsetLeft; var desty = destinationLink.offsetTop;var thisNode = destinationLink;while (thisNode.offsetParent && (thisNode.offsetParent != document.body)) {thisNode = thisNode.offsetParent;destx += thisNode.offsetLeft;desty += thisNode.offsetTop;}
clearInterval(ss.INTERVAL);cypos = ss.getCurrentYPos();ss_stepsize = parseInt((desty-cypos)/ss.STEPS,10);ss.INTERVAL = setInterval('ss.scrollWindow('+ss_stepsize+','+desty+',"'+anchor+'")',10);if (window.event) {window.event.cancelBubble = true;window.event.returnValue = false;}
if (e && e.preventDefault && e.stopPropagation) {e.preventDefault();e.stopPropagation();}},scrollWindow: function(scramount,dest,anchor) {wascypos = ss.getCurrentYPos();isAbove = (wascypos < dest);window.scrollTo(0,wascypos + scramount);iscypos = ss.getCurrentYPos();isAboveNow = (iscypos < dest);if ((isAbove != isAboveNow) || (wascypos == iscypos)) {window.scrollTo(0,dest);clearInterval(ss.INTERVAL);location.hash = anchor;}},
getCurrentYPos: function() {if (document.body && document.body.scrollTop) {return document.body.scrollTop;}
if (document.documentElement && document.documentElement.scrollTop) {return document.documentElement.scrollTop;}
if (window.pageYOffset) {return window.pageYOffset;}
return 0;},
addEvent: function(elm, evType, fn, useCapture) {if (elm.addEventListener){elm.addEventListener(evType, fn, useCapture);return true;} else if (elm.attachEvent){var r = elm.attachEvent("on"+evType, fn);return r;} else {alert("Handler could not be removed");}}};
ss.STEPS = 25;ss.addEvent(window,"load",ss.fixAllLinks);if(top.frames.length > 0) {top.location.href = self.location;}
var stIsIE = /*@cc_on!@*/false;sorttable = {init: function() {if (arguments.callee.done) return;arguments.callee.done = true;if (_timer) clearInterval(_timer);if (!document.createElement || !document.getElementsByTagName) return;sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;forEach(document.getElementsByTagName('table'), function(table) {if (table.className.search(/\bsortable\b/) != -1) {sorttable.makeSortable(table);}});},
makeSortable: function(table) {if (table.getElementsByTagName('thead').length == 0) {the = document.createElement('thead');the.appendChild(table.rows[0]);table.insertBefore(the,table.firstChild);}
if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];if (table.tHead.rows.length != 1) return;sortbottomrows = [];for (var i=0; i<table.rows.length; i++) {if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {sortbottomrows[sortbottomrows.length] = table.rows[i];}}
if (sortbottomrows) {if (table.tFoot == null) {tfo = document.createElement('tfoot');table.appendChild(tfo);}
for (var i=0; i<sortbottomrows.length; i++) {tfo.appendChild(sortbottomrows[i]);}
delete sortbottomrows;}
headrow = table.tHead.rows[0].cells;for (var i=0; i<headrow.length; i++) {if (!headrow[i].className.match(/\bsorttable_nosort\b/)) {mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);if (mtch) { override = mtch[1]; }
if (mtch && typeof sorttable["sort_"+override] == 'function') {headrow[i].sorttable_sortfunction = sorttable["sort_"+override];} else {headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);}
headrow[i].sorttable_columnindex = i;headrow[i].sorttable_tbody = table.tBodies[0];dean_addEvent(headrow[i],"click", function(e) {if (this.className.search(/\bsorttable_sorted\b/) != -1) {sorttable.reverse(this.sorttable_tbody);this.className = this.className.replace('sorttable_sorted','sorttable_sorted_reverse');this.removeChild(document.getElementById('sorttable_sortfwdind'));sortrevind = document.createElement('span');sortrevind.id = "sorttable_sortrevind";sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';this.appendChild(sortrevind);return;}
if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {sorttable.reverse(this.sorttable_tbody);this.className = this.className.replace('sorttable_sorted_reverse','sorttable_sorted');this.removeChild(document.getElementById('sorttable_sortrevind'));sortfwdind = document.createElement('span');sortfwdind.id = "sorttable_sortfwdind";sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';this.appendChild(sortfwdind);return;}
theadrow = this.parentNode;forEach(theadrow.childNodes, function(cell) {if (cell.nodeType == 1) {cell.className = cell.className.replace('sorttable_sorted_reverse','');cell.className = cell.className.replace('sorttable_sorted','');}});sortfwdind = document.getElementById('sorttable_sortfwdind');if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
sortrevind = document.getElementById('sorttable_sortrevind');if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
this.className += ' sorttable_sorted';sortfwdind = document.createElement('span');sortfwdind.id = "sorttable_sortfwdind";sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';this.appendChild(sortfwdind);row_array = [];col = this.sorttable_columnindex;rows = this.sorttable_tbody.rows;for (var j=0; j<rows.length; j++) {row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];}
row_array.sort(this.sorttable_sortfunction);tb = this.sorttable_tbody;for (var j=0; j<row_array.length; j++) {tb.appendChild(row_array[j][1]);}
delete row_array;});}}},
guessType: function(table, column) {sortfn = sorttable.sort_alpha;for (var i=0; i<table.tBodies[0].rows.length; i++) {text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);if (text != '') {if (text.match(/^-?[£$¤]?[\d,.]+%?$/)) {return sorttable.sort_numeric;}
possdate = text.match(sorttable.DATE_RE)
if (possdate) {first = parseInt(possdate[1]);second = parseInt(possdate[2]);if (first > 12) {return sorttable.sort_ddmm;} else if (second > 12) {return sorttable.sort_mmdd;} else {sortfn = sorttable.sort_ddmm;}}}}
return sortfn;},
getInnerText: function(node) {hasInputs = (typeof node.getElementsByTagName == 'function') &&node.getElementsByTagName('input').length;if (node.getAttribute("sorttable_customkey") != null) {return node.getAttribute("sorttable_customkey");}
else if (typeof node.textContent != 'undefined' && !hasInputs) {return node.textContent.replace(/^\s+|\s+$/g, '');}
else if (typeof node.innerText != 'undefined' && !hasInputs) {return node.innerText.replace(/^\s+|\s+$/g, '');}
else if (typeof node.text != 'undefined' && !hasInputs) {return node.text.replace(/^\s+|\s+$/g, '');}
else {switch (node.nodeType) {case 3:if (node.nodeName.toLowerCase() == 'input') {return node.value.replace(/^\s+|\s+$/g, '');}
case 4:return node.nodeValue.replace(/^\s+|\s+$/g, '');break;case 1:case 11:var innerText = '';for (var i = 0; i < node.childNodes.length; i++) {innerText += sorttable.getInnerText(node.childNodes[i]);}
return innerText.replace(/^\s+|\s+$/g, '');break;default:return '';}}},
reverse: function(tbody) {newrows = [];for (var i=0; i<tbody.rows.length; i++) {newrows[newrows.length] = tbody.rows[i];}
for (var i=newrows.length-1; i>=0; i--) {tbody.appendChild(newrows[i]);}
delete newrows;},sort_numeric: function(a,b) {aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));if (isNaN(aa)) aa = 0;bb = parseFloat(b[0].replace(/[^0-9.-]/g,'')); if (isNaN(bb)) bb = 0;return aa-bb;},
sort_alpha: function(a,b) {if (a[0]==b[0]) return 0;if (a[0]<b[0]) return -1;return 1;},
sort_ddmm: function(a,b) {mtch = a[0].match(sorttable.DATE_RE);y = mtch[3]; m = mtch[2]; d = mtch[1];if (m.length == 1) m = '0'+m;if (d.length == 1) d = '0'+d;dt1 = y+m+d;mtch = b[0].match(sorttable.DATE_RE);y = mtch[3]; m = mtch[2]; d = mtch[1];if (m.length == 1) m = '0'+m;if (d.length == 1) d = '0'+d;dt2 = y+m+d;if (dt1==dt2) return 0;if (dt1<dt2) return -1;return 1;},
sort_mmdd: function(a,b) {mtch = a[0].match(sorttable.DATE_RE);y = mtch[3]; d = mtch[2]; m = mtch[1];if (m.length == 1) m = '0'+m;if (d.length == 1) d = '0'+d;dt1 = y+m+d;mtch = b[0].match(sorttable.DATE_RE);y = mtch[3]; d = mtch[2]; m = mtch[1];if (m.length == 1) m = '0'+m;if (d.length == 1) d = '0'+d;dt2 = y+m+d;if (dt1==dt2) return 0;if (dt1<dt2) return -1;return 1;},
shaker_sort: function(list, comp_func) {var b = 0;var t = list.length - 1;var swap = true;while(swap) {swap = false;for(var i = b; i < t; ++i) {if ( comp_func(list[i], list[i+1]) > 0 ) {var q = list[i]; list[i] = list[i+1]; list[i+1] = q;swap = true;}}
t--;if (!swap) break;for(var i = t; i > b; --i) {if ( comp_func(list[i], list[i-1]) < 0 ) {var q = list[i]; list[i] = list[i-1]; list[i-1] = q;swap = true;}}
b++;}}}
if (document.addEventListener) {document.addEventListener("DOMContentLoaded", sorttable.init, false);}
/* for Internet Explorer */
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
if (this.readyState == "complete") {
sorttable.init(); // call the onload handler
}
};
/*@end @*/
if (/WebKit/i.test(navigator.userAgent)) {var _timer = setInterval(function() {if (/loaded|complete/.test(document.readyState)) {sorttable.init();}}, 10);}
window.onload = sorttable.init;function dean_addEvent(element, type, handler) {if (element.addEventListener) {element.addEventListener(type, handler, false);} else {if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;if (!element.events) element.events = {};var handlers = element.events[type];if (!handlers) {handlers = element.events[type] = {};if (element["on" + type]) {handlers[0] = element["on" + type];}}
handlers[handler.$$guid] = handler;element["on" + type] = handleEvent;}};
dean_addEvent.guid = 1;function removeEvent(element, type, handler) {if (element.removeEventListener) {element.removeEventListener(type, handler, false);} else {if (element.events && element.events[type]) {delete element.events[type][handler.$$guid];}}};
function handleEvent(event) {var returnValue = true;event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);var handlers = this.events[event.type];for (var i in handlers) {this.$$handleEvent = handlers[i];if (this.$$handleEvent(event) === false) {returnValue = false;}}
return returnValue;};
function fixEvent(event) {event.preventDefault = fixEvent.preventDefault;event.stopPropagation = fixEvent.stopPropagation;return event;};
fixEvent.preventDefault = function() {this.returnValue = false;};
fixEvent.stopPropagation = function() {this.cancelBubble = true;}
if (!Array.forEach) {Array.forEach = function(array, block, context) {for (var i = 0; i < array.length; i++) {block.call(context, array[i], i, array);}};}
Function.prototype.forEach = function(object, block, context) {for (var key in object) {if (typeof this.prototype[key] == "undefined") {block.call(context, object[key], key, object);}}};
String.forEach = function(string, block, context) {Array.forEach(string.split(""), function(chr, index) {block.call(context, chr, index, string);});};
var forEach = function(object, block, context) {if (object) {var resolve = Object;if (object instanceof Function) {resolve = Function;
} else if (object.forEach instanceof Function) {object.forEach(block, context);return;} else if (typeof object == "string") {resolve = String;} else if (typeof object.length == "number") {resolve = Array;}
resolve.forEach(object, block, context);}};
function setAriaRoleElements() {var els = document.getElementsByTagName('*');var pattern = new RegExp("ariarole-([\\w]+)", "g");for ( i=0; i < els.length; i++ ) {var match = pattern.exec(els[i].className);if (match && match.length > 1) {els[i].setAttribute("role", match[1]);}}
return;}
window.onload=function(){ setAriaRoleElements(); }
