// 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="/cms/hpbanners/";var _loaderIconURL="/images/icons/loading_wheel.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="";var _bannerWidth=0;var _bannerHeight=0;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;}
this.setBannerSize=function(width,height){_bannerWidth=parseInt(width);_bannerHeight=parseInt(height);}
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(){if(Browser.NAME=="Internet Explorer"&&Browser.VERSION<=6){(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:"";var filedate=(rs[x].getElementsByTagName("LastUpdated")[0])?rs[x].getElementsByTagName("LastUpdated")[0].firstChild.nodeValue.substr(0,rs[x].getElementsByTagName("LastUpdated")[0].firstChild.nodeValue.indexOf(".")):"";_list.push({"ID":id,"IndexID":index,"Description":description,"LinkURL":url,"LinkTarget":target,"FileDate":filedate});}
if(_list.length>1)renderPlayControls();if(_list.length>1&&_defaultPlay)toggleControllerStatus(false);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(){this.className='button-prev-over';}
btnPrev.onmousedown=function(){this.className='button-prev-hit';}
btnPrev.onmouseup=function(){this.className='button-prev-over';}
btnPrev.onmouseout=function(){this.className='button-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(){this.className='button-play-over';}
btnPlayPause.onmousedown=function(){this.className='button-play-hit';}
btnPlayPause.onmouseup=function(){this.className='button-pause-over';}
btnPlayPause.onmouseout=function(){this.className='button-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(){this.className='button-next-over';}
btnNext.onmousedown=function(){this.className='button-next-hit';}
btnNext.onmouseup=function(){this.className='button-next-over';}
btnNext.onmouseout=function(){this.className='button-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");if(_bannerWidth>0&&_bannerHeight>0){imgNewBanner.setAttribute("width",_bannerWidth);imgNewBanner.setAttribute("height",_bannerHeight);}imgNewBanner.src=_imageURL+_list[x].ID+".jpg?tt="+encodeURIComponent(_list[x].FileDate.replace(/[^0-9]/g,""));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(_list[x].FileDate.replace(/[^0-9]/g,""));}
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(over){var btnPlayPause=document.getElementById(_mainid+"-btnPlayPause");if(_playStatus){if(btnPlayPause){btnPlayPause.className=(over)?"button-play-over":"button-play";btnPlayPause.setAttribute("title","Play");btnPlayPause.onmouseover=function(){this.className='button-play-over';}
btnPlayPause.onmousedown=function(){this.className='button-play-hit';}
btnPlayPause.onmouseup=function(){this.className='button-pause-over';}
btnPlayPause.onmouseout=function(){this.className='button-play';}}
_playStatus=false;}else{if(btnPlayPause){btnPlayPause.className=(over)?"button-pause-over":"button-pause";btnPlayPause.setAttribute("title","Pause");btnPlayPause.onmouseover=function(){this.className='button-pause-over';}
btnPlayPause.onmousedown=function(){this.className='button-pause-hit';}
btnPlayPause.onmouseup=function(){this.className='button-play-over';}
btnPlayPause.onmouseout=function(){this.className='button-pause';}}
_playStatus=true;}}
var playStop=function(){if(_playTimer!=null){clearTimeout(_playTimer);_playTimer=null;}
toggleControllerStatus(true);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();}}}
// Browser object
var Browser={detect:function(){this.NAME=this.searchString(this.dataBrowser)||"An unknown browser";this.VERSION=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"an unknown OS";},searchString:function(data){for(var i=0;i<data.length;i++){var dataString=data[i].string;var dataProp=data[i].prop;this.versionSearchString=data[i].versionSearch||data[i].identity;if(dataString){if(dataString.indexOf(data[i].subString)!=-1)return data[i].identity;}
else if(dataProp)return data[i].identity;}},searchVersion:function(dataString){var index=dataString.indexOf(this.versionSearchString);if(index==-1)return;return parseFloat(dataString.substring(index+this.versionSearchString.length+1));},dataBrowser:[{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari",versionSearch:"Version"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Internet Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};Browser.detect();

// Fire DOM-ready event
$(function() {
	if(document.getElementById("HomePageRotation")){var b=new BannerRotation();b.setScriptURL("/ajax/banners.aspx");b.setImageURL("/cms/hpbanners/");b.create("HomePageRotation");}
});
