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

var pausecontent=new Array()
pausecontent[0]='<h2>July 2011</h2><p>Panagraph publishes its White Paper outlining how to apply Simple, Cost Effective and Proven Processes when Accounting for and Reporting on your Sustainability Impact<p><a href="downloads/PanagraphSustainabilityWhitePaper.pdf" target="_blank"><img src="images/adobe-pdf.jpg" alt="Download Manufacturing and Other Sectors Example" style="float: left; margin: 0pt 10px 0pt 0pt;" width="24" height="24" /> Click here for Panagraph White Paper</a></p>'
pausecontent[1]='<h2>June 2011 </h2><h2>&#39;Winning in Tendering&#39; success for ECUS and PANAGRAPH</h2><p>ECUS and Panagraph Performance Management are pleased to announce that they have been awarded a 3 year contract for the provision of Sustainable Development Services for the &#39;Winning in Tendering&#39; project.  The partners involved in the project are Bangor University, Dublin City University and the Irish Institute of Purchasing and Materials Management (IIPM).</p> <p><a href="latest_software_news.html">Click here for more</a></p>'
pausecontent[2]='<h2>May 2011<br /><br /> Panagraph White Paper outlines how to apply Simple, Cost Effective and Proven Processes when Accounting for and Reporting on your Sustainability Impact</h2><p>Following involvement in a number of sustainability projects in both the construction and education sectors, Panagraph Performance Management have published a complementary white paper covering guidelines for any organisation wishing to implement or enhance their Sustainability Performance Management. The white paper covers trends in Sustainability Reporting and the 7 fundamental steps to the Performance Management Process (including sustainability examples). <a href="downloads/PanagraphSustainabilityWhitePaper.pdf">Click here </a>for Panagraph White Paper.</p>'

pausecontent[3]='<h2>Acquisition of<br>Performance Data Ltd<br /><br />December 2010</h2><p>Panagraph Performance Management is pleased to announce the acquisition of Performance Data Ltd (formerly lg01). The acquisition, which is effective as from November 2010, means that Panagraph now boasts significant development and database management expertise as well as customers and proven tools in the Higher Education and Pharmaceutical Sectors.</p>'
pausecontent[4]='<h2>FINALISTS AT PRESTIGIOUS CIOB AWARDS 2010<br /><br />October 2010</h2><p>Having won awards in 2008 and 2009 at the CIOB Annual Construction Awards Ceremony, Panagraph was again named as finalists at this year’s event, for both the Digital and the Collaborative Working Awards.</p>'
pausecontent[5]='<h2>Panagraph success in<br />Sheffield star business awards<br /><br />September 2010</h2><p>Panagraph Performance Management is delighted to be involved with the success of <b>Kier</b> at the <b>Sheffield Star Business Awards</b> on September 27th 2010. Kier were highly commended in the Digital and I.T. category for their use of Panagraph in detailing performance in their social housing and repair services.</p>'
pausecontent[6]='<h2>Mitie property services implement panagraph <br /><br />August2010</h2><p>Panagraph Performance Management is delighted to announce that <br /><b>MITIE Property Services UK Southern Division</b> is now implementing Panagraph to manage contract performance and enhance service delivery. The contract is a direct result of the successful implementation of Panagraph at Newham Homes. </p><p>Marcus Cox, Project Director at MPS says <span class="teal">“Panagraph will enable MPS UK to bring together performance data in an easy to understand and user friendly format that will enable us to share best practices and assist in driving continuous improvement.”</span></p>'
pausecontent[7]='<h2>June 2010</h2><p>Panagraph Performance Management is pleased to announce that it will be demonstrating the recently developed &quot;<b>Sustainability and Corporate Social Performance Framework</b>&quot; at the CIH exhibition in Harrogate on June 22nd/23rd/24th.</p><br><h2>February 2010</h2><p>Newham Homes, the Arms Length Management Organisation (ALMO) set up in December 2005 by the London Borough of Newham is pleased to announce it has successfully completed the implementation of Panagraph Performance Intelligence V3.</p><p>For more information <a href="software_press_newhamhomes.html">click here</a></p>'
pausecontent[8]='<h2>15th July 2009</h2><p>Newham Homes is pleased to announce it is implementing Panagraph Performance Intelligence v3 to manage and enhance the performance of its Modern Homes programme. The rapid implementation capibilities of Panagraph PI mean the plane go-live date for the Panagraph system is August 2009.</p><p>For more information <a href="software_news_newhamhomes.html">click here</a></p><br><h2>16th June 2009</h2><p>Panagraph Performance Management demonstrates Panagraph Performance Intelligence V3 for the first time at the Chartered Institute of Housing Exhibition in Harrogate.</p><p>For more information <a href="software_news_exhibition.html">click here</a></p>'





/***********************************************
* Pausing up-down scroller- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

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
}

