// ajax2

// functie: Ajax object aanmaken
function maakAjaxObject(){
var httprequest=false;
if (window.XMLHttpRequest){httprequest=new XMLHttpRequest();
if (httprequest.overrideMimeType)
httprequest.overrideMimeType('text/xml')}
else if (window.ActiveXObject){ 
try {httprequest=new ActiveXObject("Msxml2.XMLHTTP");} // IE6+
catch (e){
try{httprequest=new ActiveXObject("Microsoft.XMLHTTP");}// IE5
catch (e){}}}
return httprequest}

// functie: ajax2(tekstbestand, Idnaam, Classnaam, pauze, fade)
function ajax2(tekstbestand, divId, divClass, pauze, fadeofniet){
this.tekstbestand=tekstbestand
this.tickerid=divId
this.pauze=pauze 
this.mouseoverBol=0
this.pointer=0
this.opacitystring=(typeof fadeofniet!="undefined")? "width: 100%; filter:progid:DXImageTransform.Microsoft.alpha(opacity=100); -moz-opacity: 1" : ""
if (this.opacitystring!="") this.pauze+=500
this.opacitysetting=0.2
this.messages=[] // array voor de tekstblokken van het tekstbestand
this.ajaxobj=maakAjaxObject()
document.write('<div id="'+divId+'" class="'+divClass+'"><div style="'+this.opacitystring+'">Bezig met initialiseren...</div></div>')
this.gettekstbestand()}

// functie: tekstbestand ophalen
ajax2.prototype.gettekstbestand=function(){
if (this.ajaxobj){
var instanceOfTicker=this
var url=this.tekstbestand+"?bustcache="+new Date().getTime()
this.ajaxobj.onreadystatechange=function(){instanceOfTicker.initialize()}
this.ajaxobj.open('GET', url, true)
this.ajaxobj.send(null)}}

// functie: initializeren
ajax2.prototype.initialize=function(){ 
if (this.ajaxobj.readyState == 4){
if (this.ajaxobj.status==200 || window.location.href.indexOf("http")==-1){
this.contentdiv=document.getElementById(this.tickerid).firstChild
var xmldata=this.ajaxobj.responseText
this.contentdiv.style.display="none"
this.contentdiv.innerHTML=xmldata
if (this.contentdiv.getElementsByTagName("div").length==0){
this.contentdiv.innerHTML="<b>Fout</b>: geen berichten gevonden!"
return}
var instanceOfTicker=this
document.getElementById(this.tickerid).onmouseover=function(){instanceOfTicker.mouseoverBol=1}
document.getElementById(this.tickerid).onmouseout=function(){instanceOfTicker.mouseoverBol=0}
if (window.attachEvent)
window.attachEvent("onunload", function(){instanceOfTicker.contentdiv=instanceOfTicker.ajaxobj=null})
for (var i=0; i<this.contentdiv.getElementsByTagName("div").length; i++){
if (this.contentdiv.getElementsByTagName("div")[i].className=="content")
this.messages[this.messages.length]=this.contentdiv.getElementsByTagName("div")[i].innerHTML}
this.contentdiv.innerHTML=""
this.contentdiv.style.display="block"
this.tekstwisselen()}}}

// functie: tekst wisselen
ajax2.prototype.tekstwisselen=function(){
var instanceOfTicker=this
if (this.mouseoverBol==1)
setTimeout(function(){instanceOfTicker.tekstwisselen()}, 100)
else{ 
this.fadetransitie("reset")
this.contentdiv.innerHTML=this.messages[this.pointer]
this.fadetimer1=setInterval(function(){instanceOfTicker.fadetransitie('up', 'fadetimer1')}, 100)
this.pointer=(this.pointer<this.messages.length-1)? this.pointer+1 : 0
setTimeout(function(){instanceOfTicker.tekstwisselen()}, this.pauze)}}

// functie: fadetransitie (crossbrowser)
ajax2.prototype.fadetransitie=function(fadetype, timerid){
var contentdiv=this.contentdiv
if (fadetype=="reset")
this.opacitysetting=0.2
if (contentdiv.filters && contentdiv.filters[0]){
if (typeof contentdiv.filters[0].opacity=="number")
contentdiv.filters[0].opacity=this.opacitysetting*100
else contentdiv.style.filter="alpha(opacity="+this.opacitysetting*100+")"}
else if (typeof contentdiv.style.MozOpacity!="undefined" && this.opacitystring!=""){
contentdiv.style.MozOpacity=this.opacitysetting}
else
this.opacitysetting=1
if (fadetype=="up")
this.opacitysetting+=0.1
if (fadetype=="up" && this.opacitysetting>=1)
clearInterval(this[timerid])}

