/**************** Preamble ****************/
// This script is licensed under the creative commons license
// Attribution-Share Alike 2.5 Switzerland
// You are free to share and to remix this work under the 
// following conditions: Attribution and Share-Alike
// See http://creativecommons.org/licenses/by-sa/2.5/ch/deed.en
// Thus you are free to use it for commercial purposes.
//
// Dieses Script steht unter der Creative Commons-Lizenz
// Attribution-Share Alike 2.5 Switzerland
// Sie dürfen das Werk vervielfältigen, verbreiten und
// öffentlich zugänglich machen,
// sowie Bearbeitungen des Werkes anfertigen
// Zu den folgenden Bedingungen:
// Namensnennung und Weitergabe unter gleichen Bedingungen.
// Siehe http://creativecommons.org/licenses/by-sa/2.5/ch/
// Somit sind Sie frei, das Script für kommerzielle Zwecke zu nutzen.
//
// Mathias Nater, Zürich, 2008
// mathias at mnn dot ch
/**************** Preamble ****************/
var Hyphenator=function(){var SUPPORTEDLANG={'de':true,'en':true,'es':true,'fr':true,'nl':true,'sv':true};var LANGUAGEHINT='Deutsch: de\tEnglish: en\tEspa%F1ol: es\tFran%E7ais: fr\tNederlands: nl\tSvenska: sv';var PROMPTERSTRINGS={'de':'Die Sprache dieser Webseite konnte nicht automatisch bestimmt werden. Bitte Sprache angeben: \n\n'+LANGUAGEHINT,'en':'The language of this website could not be determined automatically. Please indicate main language: \n\n'+LANGUAGEHINT,'es':'El idioma del sitio no pudo determinarse autom%E1ticamente. Por favor, indique el idioma principal: \n\n'+LANGUAGEHINT,'fr':'La langue de ce site n%u2019a pas pu %EAtre d%E9termin%E9e automatiquement. Veuillez indiquer une langue%A0: \n\n'+LANGUAGEHINT,'nl':'De taal van deze website kan niet automatisch worden bepaald. Geef de hoofdtaal op: \n\n'+LANGUAGEHINT,'sv':'Spr%E5ket p%E5 den h%E4r webbplatsen kunde inte avg%F6ras automatiskt. V%E4nligen ange: \n\n'+LANGUAGEHINT};var BASEPATH=function(){var s=document.getElementsByTagName('script'),i=0,p,t;while(!!(t=s[i++].src)){p=t.indexOf('Hyphenator.js');if(p!==-1){return t.substring(0,p)}}return'http://hyphenator.googlecode.com/svn/trunk/'}();var DONTHYPHENATE={'script':true,'code':true,'pre':true,'img':true,'br':true,'samp':true,'kbd':true,'var':true,'abbr':true,'acronym':true,'sub':true,'sup':true,'button':true,'option':true,'label':true};var exceptions={};var enableRemoteLoading=true;var displayToggleBox=false;var hyphenateclass='hyphenate';var hyphen=String.fromCharCode(173);var urlhyphen='';var min=6;var bookmarklet=false;var patternsloaded={};var preparestate=0;var mainlanguage=null;var url='(\\w*:\/\/)((\\w*:)?(\\w*)@)?([\\w\\.]*)?(:\\d*)?(\/[\\w#!:\\.?\\+=&%@!\\-]*)*';var mail='[\\w-\\.]+@[\\w\\.]+';var urlRE=new RegExp(url,'i');var mailRE=new RegExp(mail,'i');var zerowidthspace='';function createZeroWidthSpace(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf('msie 6')===-1&&ua.indexOf('msie 8')===-1){zerowidthspace=String.fromCharCode(8203)}else{zerowidthspace=''}return zerowidthspace}function checkIfBookmarklet(){var loc=null;var jsArray=document.getElementsByTagName('script');for(var i=0,l=jsArray.length;i<l;i++){if(!!jsArray[i].getAttribute('src')){loc=jsArray[i].getAttribute('src')}if(!loc){continue}else if(loc.indexOf('Hyphenator.js?bm=true')!==-1){bookmarklet=true}}}function getLang(el,nofallback){if(!!el.getAttribute('lang')){return el.getAttribute('lang').substring(0,2)}try{if(!!el.getAttribute('xml:lang')){return el.getAttribute('xml:lang').substring(0,2)}}catch(ex){}if(el.tagName!='HTML'&&nofallback){return getLang(el.parentNode)}if(!nofallback&&mainlanguage){return mainlanguage}return null}function autoSetMainLanguage(){var el=document.getElementsByTagName('html')[0];mainlanguage=getLang(el);if(!mainlanguage){var m=document.getElementsByTagName('meta');for(var i=0;i<m.length;i++){if(!!m[i].getAttribute('http-equiv')&&(m[i].getAttribute('http-equiv')==='content-language')){mainlanguage=m[i].getAttribute('content').substring(0,2)}if(!!m[i].getAttribute('name')&&(m[i].getAttribute('name')==='DC.language')){mainlanguage=m[i].getAttribute('content').substring(0,2)}if(!!m[i].getAttribute('name')&&(m[i].getAttribute('name')==='language')){mainlanguage=m[i].getAttribute('content').substring(0,2)}}}if(!mainlanguage){var text='';var ul=navigator.language?navigator.language:navigator.userLanguage;ul=ul.substring(0,2);if(SUPPORTEDLANG[ul]){text=PROMPTERSTRINGS[ul]}else{text=PROMPTERSTRINGS.en}var lang=window.prompt(unescape(text),ul);if(SUPPORTEDLANG[lang]){mainlanguage=lang}}}function hideInside(){var elements,body,i,l;if(document.getElementsByClassName){elements=document.getElementsByClassName(hyphenateclass);for(i=0,l=elements.length;i<l;i++){elements[i].style.visibility='hidden'}}else{elements=document.getElementsByTagName('*');for(i=0,l=elements.length;i<l;i++){if(elements[i].className.indexOf(hyphenateclass)!==-1&&elements[i].className.indexOf('donthyphenate')===-1){elements[i].style.visibility='hidden'}}}}function switchToggleBox(s){var myBox,bdy,myIdAttribute,myTextNode;if(s){bdy=document.getElementsByTagName('body')[0];myBox=document.createElement('div');myIdAttribute=document.createAttribute('id');myIdAttribute.nodeValue='HyphenatorToggleBox';myTextNode=document.createTextNode('Hy-phe-na-ti-on');myBox.appendChild(myTextNode);myBox.setAttributeNode(myIdAttribute);myBox.onclick=Hyphenator.toggleHyphenation;myBox.style.position='absolute';myBox.style.top='0px';myBox.style.right='0px';myBox.style.margin='0';myBox.style.backgroundColor='#AAAAAA';myBox.style.color='#FFFFFF';myBox.style.font='6pt Arial';myBox.style.letterSpacing='0.2em';myBox.style.padding='3px';myBox.style.cursor='pointer';myBox.style.WebkitBorderBottomLeftRadius='4px';myBox.style.MozBorderRadiusBottomleft='4px';bdy.appendChild(myBox)}else{myBox=document.getElementById('HyphenatorToggleBox');myBox.style.visibility='hidden'}}function loadPatterns(lang){if(SUPPORTEDLANG[lang]&&!patternsloaded[lang]){var url=BASEPATH+'patterns/'+lang+'.js'}else{return}if(document.createElement){var head=document.getElementsByTagName('head').item(0);var script=document.createElement('script');script.src=url;script.type='text/javascript';head.appendChild(script)}}function convertPatternsToObject(){for(var lang in Hyphenator.patterns){if(Hyphenator.patterns.hasOwnProperty(lang)){var sa=Hyphenator.patterns[lang].split(' ');Hyphenator.patterns[lang]={};var pat,key,i=0;while(!!(pat=sa[i++])){key=pat.replace(/\d/g,'');Hyphenator.patterns[lang][key]=pat}}}}function runHyphenation(){var body=document.getElementsByTagName('body')[0];var i,elements,l;if(Hyphenator.isBookmarklet()){Hyphenator.hyphenateElement(body)}else{if(document.getElementsByClassName){elements=document.getElementsByClassName(hyphenateclass);for(i=0,l=elements.length;i<l;i++){Hyphenator.hyphenateElement(elements[i])}}else{elements=document.getElementsByTagName('*');for(i=0,l=elements.length;i<l;i++){if(elements[i].className.indexOf(hyphenateclass)!==-1){Hyphenator.hyphenateElement(elements[i])}}}}}function removeHyphenation(){var body=document.getElementsByTagName('body')[0];var elements,i,l;if(Hyphenator.isBookmarklet()){Hyphenator.deleteHyphenationInElement(body)}else{if(document.getElementsByClassName){elements=document.getElementsByClassName(hyphenateclass);for(i=0,l=elements.length;i<l;i++){Hyphenator.deleteHyphenationInElement(elements[i])}}else{elements=body.getElementsByTagName('*');for(i=0,l=elements.length;i<l;i++){if(elements[i].className.indexOf(hyphenateclass)!==-1){Hyphenator.deleteHyphenationInElement(elements[i])}}}}}function runOnContentLoaded(w,f){var d=w.document,D='DOMContentLoaded',u=w.navigator.userAgent.toLowerCase(),v=parseFloat(u.match(/.+(?:rv|it|ml|ra|ie)[\/: ]([\d.]+)/)[1]);function init(e){if(!document.loaded){document.loaded=true;f((e.type&&e.type===D)?e:{type:D,target:d,eventPhase:0,currentTarget:d,timeStamp:+new Date,eventType:e.type||e})}}if(/webkit\//.test(u)&&v<525.13){(function(){if(/complete|loaded/.test(d.readyState)){init('khtml-poll')}else{setTimeout(arguments.callee,10)}})()}else if(/msie/.test(u)&&!w.opera){d.attachEvent('onreadystatechange',function(e){if(d.readyState==='complete'){d.detachEvent('on'+e.type,arguments.callee);init(e)}});if(w==top){(function(){try{d.documentElement.doScroll('left')}catch(e){setTimeout(arguments.callee,10);return}init('msie-poll')})()}}else if(d.addEventListener&&(/opera\//.test(u)&&v>9)||(/gecko\//.test(u)&&v>=1.8)||(/khtml\//.test(u)&&v>=4.0)||(/webkit\//.test(u)&&v>=525.13)){d.addEventListener(D,function(e){d.removeEventListener(D,arguments.callee,false);init(e)},false)}else{var oldonload=w.onload;w.onload=function(e){init(e||w.event);if(typeof oldonload==='function'){oldonload(e||w.event)}}}}function prepare(){preparestate=1;var doclanguages={};doclanguages[mainlanguage]=true;var elements=document.getElementsByTagName('body')[0].getElementsByTagName('*');var lang=null;var i,l;for(i=0,l=elements.length;i<l;i++){if(!!(lang=getLang(elements[i],true))){if(SUPPORTEDLANG[lang]){doclanguages[lang]=true}else{}}}if(enableRemoteLoading){for(lang in doclanguages){if(doclanguages.hasOwnProperty(lang)){loadPatterns(lang)}}}var interval=window.setInterval(function(){var finishedLoading=false;for(lang in doclanguages){if(!patternsloaded[lang]){finishedLoading=false;break}else{finishedLoading=true}}if(finishedLoading){window.clearInterval(interval);preparestate=2}},100)}function autoinit(){for(var lang in SUPPORTEDLANG){if(SUPPORTEDLANG.hasOwnProperty(lang)){patternsloaded[lang]=false}}autoSetMainLanguage();urlhyphen=createZeroWidthSpace();checkIfBookmarklet()}autoinit();return{leftmin:{},rightmin:{},shortestPattern:{},longestPattern:{},specialChars:{},patterns:{},init:function(obj){if(obj.classname){Hyphenator.setClassName(obj.classname)}if(obj.minwordlength){Hyphenator.setMinWordLength(obj.minwordlength)}if(obj.hyphenchar){Hyphenator.setHyphenChar(obj.hyphenchar)}if(obj.togglebox){Hyphenator.setDisplayToggleBox(obj.togglebox)}if(obj.urlhyphenchar){Hyphenator.setUrlHyphenChar(obj.urlhyphenchar)}if(obj.remoteloading){Hyphenator.setRemoteLoading(obj.remoteloading)}},run:function(){runOnContentLoaded(window,function(){hideInside();Hyphenator.hyphenateDocument();if(displayToggleBox){switchToggleBox(true)}})},addExceptions:function(words){var w=words.split(',');for(var i=0,l=w.length;i<l;i++){var key=w[i].replace(/-/g,'');if(!exceptions[key]){exceptions[key]=w[i]}}},setClassName:function(str){hyphenateclass=str||'hyphenate'},setMinWordLength:function(mymin){min=mymin||6},setHyphenChar:function(str){if(str==='&shy;'){str=String.fromCharCode(173)}hyphen=str||String.fromCharCode(173)},setDisplayToggleBox:function(bool){displayToggleBox=bool||true},setUrlHyphenChar:function(str){urlhyphen=str||createZeroWidthSpace()},setRemoteLoading:function(bool){enableRemoteLoading=bool},updatePatternsLoadState:function(lang,bool){patternsloaded[lang]=bool},isBookmarklet:function(){return bookmarklet},hyphenateDocument:function(){if(preparestate!==2){if(preparestate===0){prepare()}var interval=window.setInterval(function(){if(preparestate===2){window.clearInterval(interval);convertPatternsToObject();runHyphenation()}},10)}},hyphenateElement:function(el,lang){if(el.className.indexOf("donthyphenate")!==-1){return}if(!lang){lang=getLang(el)}else{var elemlang=getLang(el,true);if(elemlang!==null){lang=elemlang}}var wrd='[\\w'+Hyphenator.specialChars[lang]+'@'+String.fromCharCode(173)+'-]{'+min+',}';function hyphenate(word){if(urlRE.test(word)||mailRE.test(word)){return Hyphenator.hyphenateURL(word)}else{return Hyphenator.hyphenateWord(lang,word)}}var genRegExp=new RegExp('('+url+')|('+mail+')|('+wrd+')','gi');var n,i;for(i=0;(n=el.childNodes[i]);i++){if(n.nodeType===3&&n.data.length>=min){n.data=n.data.replace(genRegExp,hyphenate)}else if(n.nodeType===1&&!DONTHYPHENATE[n.nodeName.toLowerCase()]){Hyphenator.hyphenateElement(n,lang)}}if(el.className.indexOf(hyphenateclass)!==-1){el.style.visibility='visible'}},deleteHyphenationInElement:function(el){var h,i,n;switch(hyphen){case'|':h='\\|';break;case'+':h='\\+';break;case'*':h='\\*';break;default:h=hyphen}for(i=0;(n=el.childNodes[i]);i++){if(n.nodeType===3){n.data=n.data.replace(new RegExp(h,'g'),'')}else if(n.nodeType===1){Hyphenator.deleteHyphenationInElement(n)}}},hyphenateWord:function(lang,word){if(word===''){return''}if(word.indexOf(String.fromCharCode(173))!==-1){return word}if(exceptions.hasOwnProperty(word)){return exceptions[word].replace(/-/g,hyphen)}if(word.indexOf('-')!==-1){var parts=word.split('-');for(var i=0,l=parts.length;i<l;i++){parts[i]=Hyphenator.hyphenateWord(lang,parts[i])}return parts.join('-'+zerowidthspace)}var w='_'+word+'_';var wl=w.length;var s=w.split('');w=w.toLowerCase();var hypos=[];var p,maxwins,win,pat=false,patl,c,digits,z;var numb3rs={'0':true,'1':true,'2':true,'3':true,'4':true,'5':true,'6':true,'7':true,'8':true,'9':true};for(p=0;p<=(wl-Hyphenator.shortestPattern[lang]);p++){maxwins=Math.min((wl-p),Hyphenator.longestPattern[lang]);for(win=Hyphenator.shortestPattern[lang];win<=maxwins;win++){if(Hyphenator.patterns[lang].hasOwnProperty(w.substr(p,win))){pat=Hyphenator.patterns[lang][w.substr(p,win)]}else{pat=false}if(!!pat){digits=1;patl=pat.length;for(i=0;i<patl;i++){c=pat.charAt(i);if(numb3rs[c]){if(i===0){z=p-1;if(!hypos[z]||hypos[z]<c){hypos[z]=c}}else{z=p+i-digits;if(!hypos[z]||hypos[z]<c){hypos[z]=c}}digits++}}}}}var inserted=0;for(i=Hyphenator.leftmin[lang];i<=(word.length-Hyphenator.rightmin[lang]);i++){if(!!(hypos[i]&1)){s.splice(i+inserted+1,0,hyphen);inserted++}}return s.slice(1,-1).join('')},hyphenateURL:function(url){return url.replace(/([:\/\.\?#&_,;!@]+)/gi,'$&'+urlhyphen)},toggleHyphenation:function(){var currentText=document.getElementById('HyphenatorToggleBox').firstChild.nodeValue;if(currentText==='Hy-phe-na-ti-on'){removeHyphenation();document.getElementById('HyphenatorToggleBox').firstChild.nodeValue='Hyphenation'}else{runHyphenation();document.getElementById('HyphenatorToggleBox').firstChild.nodeValue='Hy-phe-na-ti-on'}}}}();if(Hyphenator.isBookmarklet()){Hyphenator.hyphenateDocument()}