// JavaScript Document


/*Example message arrays for the two demo scrollers*/

var pausecontent=new Array()
pausecontent[0]='<a href="#">July 2008 - Time to Invest in Florida</a><br />According to the overseas property editor at advice website BuyAssociation, Paul Collins, now is the perfect time for buying in the States. Its a very good time, to be honest, he said, explaining that a downturn in the US property market means short-term potential is limited. But if youre looking to buy a holiday home and looking at a medium to long-term investment, then its absolutely brilliant. '

pausecontent[1]='<a href="#">August 2008 - Exchange Rate Creates Fantastic Opportunities</a><br />For our overseas buyers the favourable exchange rate of the pound &amp; Euro against the dollar is creating a "fantastic" environment for investing in US property, according to Banking experts, so take advantage now and act quickly!'

pausecontent[2]='<a href="#" target="_new">September 2008 - Tax Boost For Florida Property Market</a><br />Tax measures have been taken which should boost the Florida property market, but be careful these tax advantages arent available to everyone!'

pausecontent[3]='<a href="#" target="_new">September 2008 - Harry Potter comes to Florida</a><br />Good news for property investors: The Wizarding World of Harry Potter is set to launch in Universal Orlando Resort in 2009, and will be a further attraction for holidaying Brits.'

pausecontent[4]='<a href="#" target="_new">June 2008 - Canny Florida Property Buyers, Ahoy!</a><br />Florida Fractional Homes offers property investors an innovative way to buy abroad, with more sun for your money, and share the up keep between multiple families, friends or business partners.'

pausecontent[5]='<a href="#" target="_new">September 2008 - Tax Boost For Florida Property Market</a><br />Tax measures have been taken which should boost the Florida property market.'

pausecontent[6]='<a href="http://www.telegraph.co.uk/property/main.jhtml?xml=/property/2008/08/16/pamerica16.xml" target="_new">September 2008 - Property in America: In the land of opportunities</a><br />The 2008 crash in British housing prices began in a land far, far away - the USA, to be precise. But whereas our slump shows no signs of bottoming out, across the Atlantic its a different story. Property prices are now so low that for some, investing in real estate seems irresistible.'

pausecontent[7]='<a href="#" target="_new">September 2008 - More Foreign Homebuyers favor Orlando</a><br />According to the National Association of Realtors (NAR) the credit crunch has contributed to a home sales decline, an increase in foreign homebuyers has buffed the trend, Foreign buyers recognize U.S. real estate as a desirable, profitable and secure investment and with the weak dollar has made U.S. real estate an even more attractive investment. NAR, conducted a survey of Realtors in August 2008, with a total of 4,859 responses. 53 percent of the Realtors worked with international clients, equating too one in five sales transactions.'

pausecontent[8]='<a href="#" target="_new">September 2008 - Where are the buyers from</a><br />Although homebuyers come from all over the world - Canada buyers account for 27 percent, United Kingdom 21 percent; Germany 7 percent; France 4 percent; Western Europe 25 percent. Latin America – to include Mexico , the Caribbean nations, Central America and South America – 17 percent. Venezuela 5 percent.'

var pausecontent2=new Array()
pausecontent2[0]='<a href="http://www.news.com">News.com: Technology and business reports</a>'
pausecontent2[1]='<a href="http://www.cnn.com">CNN: Headline and breaking news 24/7</a>'
pausecontent2[2]='<a href="http://news.bbc.co.uk">BBC News: UK and international news</a>'


function pausescroller(content, divId, divClass, delay){
this.content=content //message array content
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 scroller (and pause it if it is)
this.hiddendivpointer=1 //index of message array for hidden div
document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden"><div class="innerDiv" style="position: absolute; width: 100%" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" style="position: absolute; width: 100%; visibility: hidden" id="'+divId+'2">'+content[1]+'</div></div>')
var scrollerinstance=this
if (window.addEventListener) //run onload in DOM2 browsers
window.addEventListener("load", function(){scrollerinstance.initialize()}, false)
else if (window.attachEvent) //run onload in IE5.5+
window.attachEvent("onload", function(){scrollerinstance.initialize()})
else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec
setTimeout(function(){scrollerinstance.initialize()}, 500)
}

// -------------------------------------------------------------------
// initialize()- Initialize scroller method.
// -Get div objects, set initial positions, start up down animation
// -------------------------------------------------------------------

pausescroller.prototype.initialize=function(){
this.tickerdiv=document.getElementById(this.tickerid)
this.visiblediv=document.getElementById(this.tickerid+"1")
this.hiddendiv=document.getElementById(this.tickerid+"2")
this.visibledivtop=parseInt(pausescroller.getCSSpadding(this.tickerdiv))
//set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2)
this.visiblediv.style.width=this.hiddendiv.style.width=this.tickerdiv.offsetWidth-(this.visibledivtop*2)+"px"
this.getinline(this.visiblediv, this.hiddendiv)
this.hiddendiv.style.visibility="visible"
var scrollerinstance=this
document.getElementById(this.tickerid).onmouseover=function(){scrollerinstance.mouseoverBol=1}
document.getElementById(this.tickerid).onmouseout=function(){scrollerinstance.mouseoverBol=0}
if (window.attachEvent) //Clean up loose references in IE
window.attachEvent("onunload", function(){scrollerinstance.tickerdiv.onmouseover=scrollerinstance.tickerdiv.onmouseout=null})
setTimeout(function(){scrollerinstance.animateup()}, this.delay)
}


// -------------------------------------------------------------------
// animateup()- Move the two inner divs of the scroller up and in sync
// -------------------------------------------------------------------

pausescroller.prototype.animateup=function(){
var scrollerinstance=this
if (parseInt(this.hiddendiv.style.top)>(this.visibledivtop+5)){
this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-5+"px"
this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-5+"px"
setTimeout(function(){scrollerinstance.animateup()}, 50)
}
else{
this.getinline(this.hiddendiv, this.visiblediv)
this.swapdivs()
setTimeout(function(){scrollerinstance.setmessage()}, this.delay)
}
}

// -------------------------------------------------------------------
// swapdivs()- Swap between which is the visible and which is the hidden div
// -------------------------------------------------------------------

pausescroller.prototype.swapdivs=function(){
var tempcontainer=this.visiblediv
this.visiblediv=this.hiddendiv
this.hiddendiv=tempcontainer
}

pausescroller.prototype.getinline=function(div1, div2){
div1.style.top=this.visibledivtop+"px"
div2.style.top=Math.max(div1.parentNode.offsetHeight, div1.offsetHeight)+"px"
}

// -------------------------------------------------------------------
// setmessage()- Populate the hidden div with the next message before it's visible
// -------------------------------------------------------------------

pausescroller.prototype.setmessage=function(){
var scrollerinstance=this
if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it)
setTimeout(function(){scrollerinstance.setmessage()}, 100)
else{
var i=this.hiddendivpointer
var ceiling=this.content.length
this.hiddendivpointer=(i+1>ceiling-1)? 0 : i+1
this.hiddendiv.innerHTML=this.content[this.hiddendivpointer]
this.animateup()
}
}

pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any
if (tickerobj.currentStyle)
return tickerobj.currentStyle["paddingTop"]
else if (window.getComputedStyle) //if DOM2
return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top")
else
return 0
}