///FAQ Script /// function show_answer(answerid, questionid, liid) { //alert('test'); //alert(document.getElementById(answerid).style.display); if (document.getElementById(answerid).style.display=="none") { document.getElementById(answerid).style.display=""; document.getElementById(questionid).style.fontWeight="bold"; //document.getElementById(questionid).style.textDecoration="underline"; document.getElementById(liid).style.background="#eeeeee"; } else { document.getElementById(answerid).style.display="none"; document.getElementById(questionid).style.fontWeight="normal"; //document.getElementById(questionid).style.textDecoration="none"; document.getElementById(liid).style.background="#ffffff"; } //answerid.style.display=true; } //// NO NEED TO EDIT BELOW THIS LINE //////////// var actualwidth = 0; // Ist die Breite des scrollenden Teils - wird automatisch gesetzt durch set_correct_width und ist abhaengig von der anzahl der scroll-eintraege // Schrittweite pro Klick (wenn gleich wie breite_pro_angebot, dann wir bei jedem klick um genau EIN angebot weitergescrollt) var slide_step; var copyspeed; var cross_slide_01, cross_slide_02; var filled_up = false; var left_running = false; var right_running = false; // Wenn Simple-Mode, dann ist die Schrittweite immer gleich der Breite des Angebotes if (mode == "simple") { slide_step = width_per_offer // muss immer ein vielfaches der breite sein, sonst kommt es zu verschiebungen } copyspeed = slide_step; function fillup(direction) { cross_slide_01 = document.getElementById? document.getElementById("slide_part_01") : document.all.slide_part_01; cross_slide_02 = document.getElementById? document.getElementById("slide_part_02") : document.all.slide_part_02; cross_slide_01.innerHTML = cross_slide_02.innerHTML=document.getElementById("slide_part_01").innerHTML; if (direction == "right") // Korrektes Positionieren des zweiten Teils des Sliders (je nach Scrollrichtung) cross_slide_02.style.left = -actualwidth+"px"; else cross_slide_02.style.left = actualwidth+"px"; debug = "actual_width: " + actualwidth; debug = debug + "

cross_slide_01: " + cross_slide_01.style.left + "

cross_slide_02: " + cross_slide_02.style.left; //lefttime=setInterval("slideright()",30); //lefttime=setInterval("slideleft()",30); } function slideleft() { if (parseInt(cross_slide_01.style.left) > -parseInt(actualwidth)) cross_slide_01.style.left=parseInt(cross_slide_01.style.left)-parseInt(copyspeed)+"px" else { //alert ("cross_slide_01: " + cross_slide_01.style.left); cross_slide_01.style.left=parseInt(cross_slide_02.style.left)+parseInt(actualwidth)+"px"; } if (parseInt(cross_slide_02.style.left) > -parseInt(actualwidth)) cross_slide_02.style.left=parseInt(cross_slide_02.style.left)-parseInt(copyspeed)+"px" else { //alert ("cross_slide_02: " + cross_slide_02.style.left); cross_slide_02.style.left=parseInt(cross_slide_01.style.left)+parseInt(actualwidth)+"px"; } // Korrektur (Nachziehen) difference = parseInt(actualwidth) + parseInt(cross_slide_02.style.left); difference = parseInt(cross_slide_01.style.left) - difference; if (difference > 0 ) { cross_slide_01.style.left=parseInt(cross_slide_01.style.left)-parseInt(difference)+"px"; }; //debug = "actual_width: " + actualwidth; //debug = debug + "

cross_slide_01: " + cross_slide_01.style.left + "

cross_slide_02: " + cross_slide_02.style.left; //debug = debug + "
difference: " + difference; //document.getElementById("pb").innerHTML = debug; } function slideright(){ if (parseInt(cross_slide_01.style.left) < parseInt(actualwidth)) cross_slide_01.style.left=parseInt(cross_slide_01.style.left)+parseInt(copyspeed)+"px" else cross_slide_01.style.left=parseInt(cross_slide_02.style.left)-parseInt(actualwidth)+"px" if (parseInt(cross_slide_02.style.left) < parseInt(actualwidth)) cross_slide_02.style.left=parseInt(cross_slide_02.style.left)+parseInt(copyspeed)+"px" else cross_slide_02.style.left=parseInt(cross_slide_01.style.left)-parseInt(actualwidth)+"px" // Korrektur (Nachziehen) if (parseInt(cross_slide_01.style.left)>=parseInt(actualwidth)) { cross_slide_01.style.left=parseInt(cross_slide_02.style.left)-actualwidth+"px"; } //debug = "actual_width: " + actualwidth; //debug = debug + "

cross_slide_01: " + cross_slide_01.style.left + "

cross_slide_02: " + cross_slide_02.style.left; //document.getElementById("pb").innerHTML = debug; } // Slider starten function start_slide (direction) { // Slider auffuellen if (!filled_up) { fillup(direction); filled_up = true; } // Richtung festlegen if (direction == "left") { if (mode == "advanced") { if (typeof(righttime) != "undefined") clearInterval(righttime); if (!left_running) lefttime = setInterval("slideleft()", timer_intervall); } else { slideleft(); } left_running = true; right_running = false; } else { if (mode == "advanced") { if (typeof(lefttime) != "undefined") clearInterval(lefttime); if (!right_running) righttime = setInterval("slideright()", timer_intervall); } else { slideright(); } left_running = false; right_running = true; } } // Ermittelt Styleangaben eines Elementes function get_style(oElm, strCssRule){ var strValue = ""; if(document.defaultView && document.defaultView.getComputedStyle){ strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule); } else if(oElm.currentStyle){ strCssRule = strCssRule.replace(/-(w)/g, function (strMatch, p1){ return p1.toUpperCase(); }); strValue = oElm.currentStyle[strCssRule]; } return strValue; } // Check ob DHTML-Sliden moeglich ist (ist nur moeglich, wenn Style-Sheets moegich sind, wird ueberpruft anhand eines Check-Styles) function check_for_slideability () { return_value = false; if (get_style(document.getElementById("slider_button_left") , "cursor") == "pointer") { // Nur wenn das Check-Style korrekt gesetzt ist, wird erkannt, dass der User Styles verwendet und somit ein Sliden moeglich ist return_value = true; } else { return_value = false; } if (navigator.userAgent.indexOf("Safari") != -1) { return_value = true; } return return_value; } // Anzahl der Listen-Elemente ausfindig machen - damit kann anschliessend die Geamtbreite des scrollenden Teils berechnet werden function get_count_list_elements () { counter = 0; list = document.getElementById("list_to_slide"); for (i=0; i0)? 0 : 1 } } } //END for loop if (persisterror) //if an error has occured while trying to retrieve persisted tab (based on its position within its peers) this.expandtab(this.tabs[this.hottabspositions[0]]) //Just select first tab that contains a "rel" attr if (parseInt(this.automodeperiod)>500 && this.hottabspositions.length>1){ this.automode_currentTabIndex=this.automode_currentTabIndex || 0 this.autoruntimer=setInterval(function(){tabinstance.autorun()}, this.automodeperiod) } } //END int() function } //END Prototype assignment /* News Rotator */ //** Featured Content Slider script- (c) Dynamic Drive DHTML code library: http://www.dynamicdrive.com. //** May 2nd, 08'- Script rewritten and updated to 2.0. //** June 12th, 08'- Script updated to v 2.3, which adds the following features: //1) Changed behavior of script to actually collapse the previous content when the active one is shown, instead of just tucking it underneath the later. //2) Added setting to reveal a content either via "click" or "mouseover" of pagination links (default is former). //3) Added public function for jumping to a particular slide within a Featured Content instance using an arbitrary link, for example. //** July 11th, 08'- Script updated to v 2.4: //1) Added ability to select a particular slide when the page first loads using a URL parameter (ie: mypage.htm?myslider=4 to select 4th slide in "myslider") //2) Fixed bug where the first slide disappears when the mouse clicks or mouses over it when page first loads. var featuredcontentslider={ //3 variables below you can customize if desired: ajaxloadingmsg: '
Fetching slider Contents. Please wait...
', bustajaxcache: true, //bust caching of external ajax page after 1st request? enablepersist: true, //persist to last content viewed when returning to page? settingcaches: {}, //object to cache "setting" object of each script instance jumpTo:function(fcsid, pagenumber){ //public function to go to a slide manually. this.turnpage(this.settingcaches[fcsid], pagenumber) }, ajaxconnect:function(setting){ var page_request = false if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken) try { page_request = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ try{ page_request = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else if (window.XMLHttpRequest) // if Mozilla, Safari etc page_request = new XMLHttpRequest() else return false var pageurl=setting.contentsource[1] page_request.onreadystatechange=function(){ featuredcontentslider.ajaxpopulate(page_request, setting) } document.getElementById(setting.id).innerHTML=this.ajaxloadingmsg var bustcache=(!this.bustajaxcache)? "" : (pageurl.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime() page_request.open('GET', pageurl+bustcache, true) page_request.send(null) }, ajaxpopulate:function(page_request, setting){ if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){ document.getElementById(setting.id).innerHTML=page_request.responseText this.buildpaginate(setting) } }, buildcontentdivs:function(setting){ var alldivs=document.getElementById(setting.id).getElementsByTagName("div") for (var i=0; i'+(typeof toc=="string"? toc.replace(/#increment/, i) : toc[i-1])+' ' } phtml=(nextprev[0]!=''? ' ' : '') + phtml + (nextprev[1]!=''? '' : '') pdiv.innerHTML=phtml } var pdivlinks=pdiv.getElementsByTagName("a") var toclinkscount=0 //var to keep track of actual # of toc links for (var i=0; isetting.contentdivs.length-1){ //if this toc link is out of range (user defined more toc links then there are contents) pdivlinks[i].style.display="none" //hide this toc link continue } pdivlinks[i].setAttribute("rel", ++toclinkscount) //store page number inside toc link pdivlinks[i][setting.revealtype]=function(){ featuredcontentslider.turnpage(setting, this.getAttribute("rel")) return false } setting.toclinks.push(pdivlinks[i]) } else if (this.css(pdivlinks[i], "prev", "check") || this.css(pdivlinks[i], "next", "check")){ //check for links with class "prev" or "next" pdivlinks[i].onclick=function(){ featuredcontentslider.turnpage(setting, this.className) return false } } } this.turnpage(setting, setting.currentpage, true) if (setting.autorotate[0]){ //if auto rotate enabled pdiv[setting.revealtype]=function(){ featuredcontentslider.cleartimer(setting, window["fcsautorun"+setting.id]) } sliderdiv["onclick"]=function(){ //stop content slider when slides themselves are clicked on featuredcontentslider.cleartimer(setting, window["fcsautorun"+setting.id]) } setting.autorotate[1]=setting.autorotate[1]+(1/setting.enablefade[1]*50) //add time to run fade animation (roughly) to delay between rotation this.autorotate(setting) } }, urlparamselect:function(fcsid){ var result=window.location.search.match(new RegExp(fcsid+"=(\\d+)", "i")) //check for "?featuredcontentsliderid=2" in URL return (result==null)? null : parseInt(RegExp.$1) //returns null or index, where index (int) is the selected tab's index }, turnpage:function(setting, thepage, autocall){ var currentpage=setting.currentpage //current page # before change var totalpages=setting.contentdivs.length var turntopage=(/prev/i.test(thepage))? currentpage-1 : (/next/i.test(thepage))? currentpage+1 : parseInt(thepage) turntopage=(turntopage<1)? totalpages : (turntopage>totalpages)? 1 : turntopage //test for out of bound and adjust if (turntopage==setting.currentpage && typeof autocall=="undefined") //if a pagination link is clicked on repeatedly return setting.currentpage=turntopage setting.contentdivs[turntopage-1].style.zIndex=++setting.topzindex this.cleartimer(setting, window["fcsfade"+setting.id]) setting.cacheprevpage=setting.prevpage if (setting.enablefade[0]==true){ setting.curopacity=0 this.fadeup(setting) } if (setting.enablefade[0]==false){ //if fade is disabled, fire onChange event immediately (verus after fade is complete) setting.contentdivs[setting.prevpage-1].style.display="none" //collapse last content div shown (it was set to "block") setting.onChange(setting.prevpage, setting.currentpage) } setting.contentdivs[turntopage-1].style.visibility="visible" setting.contentdivs[turntopage-1].style.display="block" if (setting.prevpage<=setting.toclinks.length) //make sure pagination link exists (may not if manually defined via "markup", and user omitted) this.css(setting.toclinks[setting.prevpage-1], "selected", "remove") if (turntopage<=setting.toclinks.length) //make sure pagination link exists (may not if manually defined via "markup", and user omitted) this.css(setting.toclinks[turntopage-1], "selected", "add") setting.prevpage=turntopage if (this.enablepersist) this.setCookie("fcspersist"+setting.id, turntopage) }, setopacity:function(setting, value){ //Sets the opacity of targetobject based on the passed in value setting (0 to 1 and in between) var targetobject=setting.contentdivs[setting.currentpage-1] if (targetobject.filters && targetobject.filters[0]){ //IE syntax if (typeof targetobject.filters[0].opacity=="number") //IE6 targetobject.filters[0].opacity=value*100 else //IE 5.5 targetobject.style.filter="alpha(opacity="+value*100+")" } else if (typeof targetobject.style.MozOpacity!="undefined") //Old Mozilla syntax targetobject.style.MozOpacity=value else if (typeof targetobject.style.opacity!="undefined") //Standard opacity syntax targetobject.style.opacity=value setting.curopacity=value }, fadeup:function(setting){ if (setting.curopacity<1){ this.setopacity(setting, setting.curopacity+setting.enablefade[1]) window["fcsfade"+setting.id]=setTimeout(function(){featuredcontentslider.fadeup(setting)}, 50) } else{ //when fade is complete if (setting.cacheprevpage!=setting.currentpage) //if previous content isn't the same as the current shown div (happens the first time the page loads/ script is run) setting.contentdivs[setting.cacheprevpage-1].style.display="none" //collapse last content div shown (it was set to "block") setting.onChange(setting.cacheprevpage, setting.currentpage) } }, cleartimer:function(setting, timervar){ if (typeof timervar!="undefined"){ clearTimeout(timervar) clearInterval(timervar) if (setting.cacheprevpage!=setting.currentpage){ //if previous content isn't the same as the current shown div setting.contentdivs[setting.cacheprevpage-1].style.display="none" } } }, css:function(el, targetclass, action){ var needle=new RegExp("(^|\\s+)"+targetclass+"($|\\s+)", "ig") if (action=="check") return needle.test(el.className) else if (action=="remove") el.className=el.className.replace(needle, "") else if (action=="add") el.className+=" "+targetclass }, autorotate:function(setting){ window["fcsautorun"+setting.id]=setInterval(function(){featuredcontentslider.turnpage(setting, "next")}, setting.autorotate[1]) }, getCookie:function(Name){ var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair if (document.cookie.match(re)) //if cookie found return document.cookie.match(re)[0].split("=")[1] //return its value return null }, setCookie:function(name, value){ document.cookie = name+"="+value }, init:function(setting){ var persistedpage=this.getCookie("fcspersist"+setting.id) || 1 var urlselectedpage=this.urlparamselect(setting.id) //returns null or index from: mypage.htm?featuredcontentsliderid=index this.settingcaches[setting.id]=setting //cache "setting" object setting.contentdivs=[] setting.toclinks=[] setting.topzindex=0 setting.currentpage=urlselectedpage || ((this.enablepersist)? persistedpage : 1) setting.prevpage=setting.currentpage setting.revealtype="on"+(setting.revealtype || "click") setting.curopacity=0 setting.onChange=setting.onChange || function(){} if (setting.contentsource[0]=="inline") this.buildpaginate(setting) if (setting.contentsource[0]=="ajax") this.ajaxconnect(setting) } } function checkShowLightbox(lightboxName, cookieLimit) { if(cookieLimit <= 0) { //keine Cookiesteuerung return true; } cookieCount = 1; if (document.cookie) { cookies = document.cookie.split(";"); for (i=0; i < cookies.length; i++) { if (cookies[i].indexOf(lightboxName) != -1) { cookieArr = cookies[i].split("="); cookieCount = ++cookieArr[1]; } } } document.cookie = lightboxName + "=" + cookieCount; return cookieCount <= cookieLimit; }