// Ajax
var Ajax={newRequest:function(){var request=null;try{request=new XMLHttpRequest();}catch(trymicrosoft){try{request=new ActiveXObject("Msxml2.XMLHTTP");}catch(othermicrosoft){try{request=new ActiveXObject("Microsoft.XMLHTTP");}catch(failed){request=null;}}}
return request;}}

// Banner rotation
function BannerRotation(){var _displayTime=10;var _defaultPlay=true;var _scriptURL="/ajax/banners.aspx";var _imageURL="/uploads/banner_rotation/";var _loaderIconURL="/images/icons/progress.gif";var _errorIconURL="/images/icons/error.gif";var _playStatus=false;var _dissolveTimer=null;var _playTimer=null;var _waitTimer=null;var _firstLoad=true;var _index=0;var _opacity=0;var _statusMode=0;var _list=new Array();var _session=(new Date).getTime();var _bannerClass="banner-item";var _container=null;var _mainid="";this.setScriptURL=function(val){_scriptURL=val;}
this.setImageURL=function(val){_imageURL=val;}
this.setDisplayTime=function(val){if(parseInt(val)>0)_displayTime=val;else throw new Error("Display time must be a valid number in seconds");}
this.setDefaultPlay=function(val){_defaultPlay=(val)?true:false;}
var setupElements=function(){if(_container){var divBannerStatus=document.createElement("div");divBannerStatus.id=_mainid+"-status";divBannerStatus.style.display='none';_container.appendChild(divBannerStatus);var divBannerItem=document.createElement("div");divBannerItem.id=_mainid+"-item";divBannerItem.className=_bannerClass;_container.appendChild(divBannerItem);var aBannerLink=document.createElement("a");aBannerLink.id=_mainid+"-link";_container.appendChild(aBannerLink);var imgBannerLink=document.createElement("img");imgBannerLink.src="/images/interface/spacer.gif";aBannerLink.appendChild(imgBannerLink);return true;}else return false;}
var preloadImages=function(){(new Image()).src='/images/banners/play_over.png';(new Image()).src='/images/banners/pause_over.png';(new Image()).src='/images/banners/prev_over.png';(new Image()).src='/images/banners/next_over.png';(new Image()).src='/images/banners/play_hit.png';(new Image()).src='/images/banners/pause_hit.png';(new Image()).src='/images/banners/prev_hit.png';(new Image()).src='/images/banners/next_hit.png';(new Image()).src='/images/banners/pause.png';(new Image()).src='/images/banners/pause_over.png';(new Image()).src='/images/banners/pause_hit.png';}
var getData=function(){var request=Ajax.newRequest();request.open("POST",_scriptURL,true);request.onreadystatechange=function(){if(request.readyState==4){if(request.status==200){_list=new Array();var xmlDoc=request.responseXML;var rs=xmlDoc.getElementsByTagName("Banners");for(var x=0;x<rs.length;x++){var id=(rs[x].getElementsByTagName("ID")[0])?rs[x].getElementsByTagName("ID")[0].firstChild.nodeValue:"";var index=(rs[x].getElementsByTagName("IndexID")[0])?rs[x].getElementsByTagName("IndexID")[0].firstChild.nodeValue:"";var description=(rs[x].getElementsByTagName("Description")[0])?rs[x].getElementsByTagName("Description")[0].firstChild.nodeValue:"";var url=(rs[x].getElementsByTagName("LinkURL")[0])?rs[x].getElementsByTagName("LinkURL")[0].firstChild.nodeValue:"";var target=(rs[x].getElementsByTagName("LinkTarget")[0])?rs[x].getElementsByTagName("LinkTarget")[0].firstChild.nodeValue:"";_list.push({"ID":id,"IndexID":index,"Description":description,"LinkURL":url,"LinkTarget":target});}
if(_list.length>1)renderPlayControls();if(_list.length>1&&_defaultPlay)toggleControllerStatus();display(_index);}else{var message="";message=request.statusText;if(message.length==0)message="Unspecified error "+request.status.toString();displayError(message);}}};request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");request.send(location.search.substring(1));}
var renderPlayControls=function(){var btnPrev=document.createElement("a");btnPrev.id=_mainid+"-btnPrev";btnPrev.className="button-prev";btnPrev.setAttribute("title","Previous");btnPrev.href="javascript:void(0);";btnPrev.onmouseover=function(){setBackground(this,'prev_over');}
btnPrev.onmousedown=function(){setBackground(this,'prev_hit');}
btnPrev.onmouseup=function(){setBackground(this,'prev_over');}
btnPrev.onmouseout=function(){setBackground(this,'prev');}
btnPrev.onclick=goPrev;_container.appendChild(btnPrev);var btnPlayPause=document.createElement("a");btnPlayPause.id=_mainid+"-btnPlayPause";btnPlayPause.className="button-play";btnPlayPause.setAttribute("title","Play");btnPlayPause.href="javascript:void(0);";btnPlayPause.onmouseover=function(){setBackground(this,'play_over');}
btnPlayPause.onmousedown=function(){setBackground(this,'play_hit');}
btnPlayPause.onmouseup=function(){setBackground(this,'pause_over');}
btnPlayPause.onmouseout=function(){setBackground(this,'play');}
btnPlayPause.onclick=playStop;_container.appendChild(btnPlayPause);var btnNext=document.createElement("a");btnNext.id=_mainid+"-btnNext";btnNext.className="button-next";btnNext.setAttribute("title","Next");btnNext.href="javascript:void(0);";btnNext.onmouseover=function(){setBackground(this,'next_over');}
btnNext.onmousedown=function(){setBackground(this,'next_hit');}
btnNext.onmouseup=function(){setBackground(this,'next_over');}
btnNext.onmouseout=function(){setBackground(this,'next');}
btnNext.onclick=goNext;_container.appendChild(btnNext);}
var setBackground=function(btn,url){if(Browser.NAME=="Internet Explorer"&&Browser.VERSION<=6){if(url!=""&&url!=null)btn.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/banners/"+url+".png');";else btn.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/banners/"+url+".png');";}else{if(url!=""&&url!=null)btn.style.backgroundImage="url(/images/banners/"+url+".png)";else btn.style.backgroundImage="";}}
var display=function(x){if(_playTimer!=null){clearTimeout(_playTimer);_playTimer=null;}
var divCurrentBanner=document.getElementById(_mainid+"-item");var aBannerLink=document.getElementById(_mainid+"-link");if(x>=_list.length)x=0;else if(x<0)x=_list.length-1;var divNewBanner=document.createElement("div");if(_dissolveTimer!=null){if(_waitTimer!=null){clearTimeout(_waitTimer);_waitTimer=null;}
_waitTimer=setTimeout(function(){display(x);},0);return;}
divNewBanner.className=_bannerClass;divNewBanner.style.zIndex=2;divNewBanner.style.filter='alpha(opacity=0)';divNewBanner.style.opacity=0;if(_list[x].LinkURL.length>0){aBannerLink.setAttribute("href",_list[x].LinkURL);if(_list[x].LinkTarget.length>0)aBannerLink.setAttribute("target",_list[x].LinkTarget);}else aBannerLink.setAttribute("href","javascript:void(0);");_container.appendChild(divNewBanner);aBannerLink.setAttribute("title",_list[x].Description);var imgNewBanner=document.createElement("img");imgNewBanner.setAttribute("alt",_list[x].Description);imgNewBanner.setAttribute("border",0);imgNewBanner.setAttribute("galleryimg","no");imgNewBanner.src=_imageURL+_list[x].ID+".jpg?tt="+encodeURIComponent(_session);divNewBanner.appendChild(imgNewBanner);if(imgNewBanner.complete)beginDissolve(divNewBanner,divCurrentBanner);else{displayLoader();imgNewBanner.onload=function(){beginDissolve(divNewBanner,divCurrentBanner);}}
_index=x;}
var preload=function(x){if(x>=_list.length)x=0;else if(x<0)x=_list.length-1;(new Image()).src=_imageURL+_list[x].ID+".jpg?tt="+encodeURIComponent(_session);}
var beginDissolve=function(newdiv,olddiv){hideStatus();if(_playTimer!=null){clearTimeout(_playTimer);_playTimer=null;}
if(_dissolveTimer!=null)finishDissolve(newdiv,olddiv);_dissolveTimer=setInterval(function(){dissolve(newdiv,olddiv)},20);}
var dissolve=function(newdiv,olddiv){if(_opacity>=100)finishDissolve(newdiv,olddiv);else{_opacity=_opacity+5;var tmp=(_opacity/100);newdiv.style.zIndex=2;newdiv.style.filter='alpha(opacity='+_opacity+')';newdiv.style.opacity=tmp;}}
var finishDissolve=function(newdiv,olddiv){if(_dissolveTimer!=null){clearInterval(_dissolveTimer);_dissolveTimer=null;}
if(olddiv)olddiv.parentNode.removeChild(olddiv);newdiv.id=_mainid+"-item";newdiv.style.zIndex=1;newdiv.style.filter='alpha(opacity=100)';newdiv.style.opacity=1;_opacity=0;if(_playStatus)_playTimer=setTimeout(goNext,_displayTime*1000);if(_list.length>1)preload(_index+1);_firstLoad=false;}
var toggleControllerStatus=function(){var btnPlayPause=document.getElementById(_mainid+"-btnPlayPause");if(_playStatus){if(btnPlayPause){btnPlayPause.className="button-play";btnPlayPause.setAttribute("title","Play");btnPlayPause.onmouseover=function(){setBackground(this,'play_over');}
btnPlayPause.onmousedown=function(){setBackground(this,'play_hit');}
btnPlayPause.onmouseup=function(){setBackground(this,'pause_over');}
btnPlayPause.onmouseout=function(){setBackground(this,'play');}}
_playStatus=false;}else{if(btnPlayPause){btnPlayPause.className="button-pause";btnPlayPause.setAttribute("title","Pause");btnPlayPause.onmouseover=function(){setBackground(this,'pause_over');}
btnPlayPause.onmousedown=function(){setBackground(this,'pause_hit');}
btnPlayPause.onmouseup=function(){setBackground(this,'play_over');}
btnPlayPause.onmouseout=function(){setBackground(this,'pause');}}
_playStatus=true;}}
var playStop=function(){if(_playTimer!=null){clearTimeout(_playTimer);_playTimer=null;}
toggleControllerStatus();if(_playStatus)_playTimer=setTimeout(goNext,_displayTime*1000);}
var goPrev=function(){if(_list.length>1)display(_index-1);}
var goNext=function(){if(_list.length>1)display(_index+1);}
var displayLoader=function(){if(_statusMode==1)return;var divStatus=document.getElementById(_mainid+"-status");if(divStatus){while(divStatus.firstChild)divStatus.removeChild(divStatus.firstChild);var img=document.createElement("img");img.src=_loaderIconURL;img.width="16";img.height="16";img.border="0";img.setAttribute("align","absmiddle");divStatus.appendChild(img);divStatus.appendChild(document.createTextNode(" Loading..."));divStatus.style.display="";divStatus.style.width="90px";_statusMode=1;}}
var displayError=function(msg){if(_statusMode==2)return;var divStatus=document.getElementById(_mainid+"-status");if(divStatus){while(divStatus.firstChild)divStatus.removeChild(divStatus.firstChild);var img=document.createElement("img");img.src=_errorIconURL;img.width="16";img.height="16";img.border="0";img.setAttribute("align","absmiddle");divStatus.appendChild(img);divStatus.appendChild(document.createTextNode(" "+msg));divStatus.style.display="";divStatus.style.width="250px";_statusMode=2;}}
var hideStatus=function(){if(_statusMode==0)return;var divStatus=document.getElementById(_mainid+"-status");if(divStatus){divStatus.style.display="none";_statusMode=0;}}
this.create=function(id){_mainid=id;_container=document.getElementById(_mainid);var f=setupElements();if(f){preloadImages();getData();}}}var HomePageOnLoad=function(){if(document.getElementById("HomePageRotation")){var b=new BannerRotation();b.setScriptURL("/ajax/banners.aspx");b.setImageURL("/cms/banner_rotation/");b.create("HomePageRotation");return;}}
if(window.addEventListener)window.addEventListener("load",HomePageOnLoad,false);else if(window.attachEvent)window.attachEvent("onload",HomePageOnLoad);