var pausecontent=new Array()
pausecontent[0]='<a href="http://www-users.cs.york.ac.uk/~mbutler/">Matthew Butler has been awarded the Best Qualifying Dissertation Award for his work on Financial Forecasting with Artificial Intelligence</a>'
pausecontent[1]='<a href="http://www.cs.york.ac.uk/aig/news/dst.php">Siva Reddy, Ioannis Klapaftis, Diana McCarthy and Suresh Manandhar have won the Best Paper Award in the 5th International Joint Conference On Natural Language Processing (IJCNLP-2011).</a>'
pausecontent[2]= '<a href="http://www-users.cs.york.ac.uk/~frisch/ModRef/09/"> To mark it\'s tenth event, the Workshop on Constraint Modelling and Reformulation invited Alan Frisch to give a talk over-viewing the field\'s progress over the past decade. He delivered a talk entitled "A Decade of Research on Constraint Modelling and Reformulation: The Quest for Abstraction and Automation.</a>'
pausecontent[3]= '<a href="http://www.cs.york.ac.uk/aig/news/sicsa.php">Alan Frisch has been awarded a Distinguished Visiting Fellowship from Scotish Informatics and Computer Science Alliance</a>'

//pausecontent[1]='<a href="http://www.cs.york.ac.uk/news/item/138">Dimitar Kazakov will be lecturing at the Natural Language Processing: Techniques, Applications and Challenges event being held in Greece in 2011.</a>'
//pausecontent[2]='<a href="http://www.cs.york.ac.uk/aig/news/dst.php">Our team UoY was placed first in two evaluation categories and second in two other evaluation categories in the Compositionality Detection shared task organized in DisCo 2011 workshop of ACL 2011, USA.</a>'
//pausecontent[]='<a href="http://www.cs.york.ac.uk/aig/LLMMC/">Dimitar Kazakov and Ahmad Shahid are amongst the organisers of the Symposium on Learning Language Models from Multilingual Corpora (LLMMC) to be held at the AISB 2011 Convention in York in April.</a>'
//pausecontent[]='<a href="http://www.cs.york.ac.uk/ftpdir/reports/2007/YCST/27/YCST-2007-27.pdf">Recent AI group graduate, Dr Chris Jefferson, has been awarded the Association of Constraint Programming 2009 Doctoral Research Award for his PhD thesis "Representations in Constraint Programming"</a>'
//pausecontent[]='Dimitar Kazakov was the Associate Coordinator of the ALAD Special Interest Group of the EU Network of Excellence AgentLink-II'
//pausecontent[]='Daniel Kudenko was on the Management Committtee for the EU Network of Excellence AgentLink-II and was Coodinator of the ALAD Special Interest Group'
//pausecontent[]='James Cussens was a member of the Senior Program Committee for the International Conference in Machine Learning (ICML) in 2005 and 2007'
//pausecontent[]='Dimitar Kazakov was the Chair of the Symposium on Adaptive Learning Agents and Multi-Agent Systems in 2003, and Co-Chair in 2002 and 2004'
//pausecontent[]='Daniel Kudenko was the Chair of the Symposium on Adaptive Learning Agents and Multi-Agent Systems in 2001 and 2004, and Co-Chair in 2002 and 2003'
//pausecontent[]='<a href="http://www.cs.st-andrews.ac.uk/~ianm/SARA2007.html">Alan Frisch was the Invited Speaker at the Symposium on Abstraction, Reformulation and Approximation 2007 in Whistler, Canada</a>'
//pausecontent[]='<a href="http://www.aisb.org.uk/">Dimitar Kazakov has been committee member of the Society for the Study of AI and Simulation of Behaviour (AISB) since 2004, and was its Vice Chair from 2006 to 2008</a>'
//pausecontent[]='Alan Frisch has been a member of the EPSRC Peer Review College from 2000 to 2002 and from 2006 to 2009.'
//pausecontent[]='Dimitar Kazakov won the The University of York Vice-Chancellor\'s 2007 Teaching Award'
//pausecontent[]='<a href="http://www.iisc.ernet.in">Suresh Manandhar recently completed a research visit to the Indian Institute of Science in Bangalore</a>'
//pausecontent[]='<a href="http://aigamedev.com/open/upcoming/2009-paris-registration/">Daniel Kudenko was an Invited Speaker at the 2nd annual Game AI Conference in Paris in June 2009.</a>'
//pausecontent[]='<a href="http://www-users.cs.york.ac.uk/~frisch/ModRef/09/">Alan Frisch was joint Programme Chair for the 8th International Workshop on Constraint Modelling and Reformulation.<br/><br/>This was held in September 2009 at the International Conference on Principles and Practice of Constraint Programming in Lisbon.<br/><br/>This series of annual workshops was started by Alan in 2002.</a>'
//pausecontent[]='<a href="http://admi09.agentmining.org/">Daniel Kudenko was an Invited Keynote Speaker at the 2009 Workshop on Agents and Data Mining Interaction.<br/><br/>This was held in at the 8th International Conference on Autonomous Agents and Multiagent Systems.</a>'
//pausecontent[]='<a href="http://www.cs.york.ac.uk/lls-workshop/">Suresh Manandhar and Ioannis Klapaftis organised a workshop on Unsupervised and Minimally Supervised Learning of Lexical Semantics at the North American Chapter of the Association for Computational Linguistics - Human Language Technologies  2009 conference.</a>'
//pausecontent[]='<a href="http://videolectures.net/ilpmlgsrl09_cussens_tlba/">James Cussens was an Invited Speaker at the ILP-SRL-MLG joint conference in Leuven in July 2009.</a>'
//pausecontent[]='<a href="http://www.cs.york.ac.uk/~grzes/ala10/">Marek Grzes is organising the Adaptive Learning Agents Workshop at AAMAS in May 2010.</a>'
//pausecontent[]='<a href="http://www.cs.york.ac.uk/~kudenko/">Daniel Kudenko is on a tour of China in April 2010, visiting Zhenjiang University, Nanjing University, Nanjing University of Aeronautics and Astronautics, and National University of Defense Technology. He is presentating work there on reinforcement learning and interactive drama.</a>'
//pausecontent[]='<a href="http://www.dcs.shef.ac.uk/~daniela/AISB10/">Rania Hodhod was a member of the AI &amp; GAMES 2010 programme committee.</a>'
//pausecontent[]='<a href="http://www.cs.york.ac.uk/semeval2010_WSI/">Suresh Manandhar and Ioannis Klapaftis are organising a task in Word Sense Induction and Disambiguation for the SemEval-2 workshop.</a>'
//pausecontent[]='<a href="http://www.springer.com/computer/artificial/journal/10994">James Cussens is on the Editorial Board of the Machine Learning Journal</a>'
//pausecontent[]='<a href="http://www.bath.ac.uk/comp-sci/research/seminars/view_seminar.php?ID=258">Alan Frisch will be giving a talk at the University of Bath on 22 April on The Rules of Modelling: Automatic Generation of Constraint Programs</a>'
//pausecontent[]='<a href="http://www.springer.com/computer/artificial/journal/10489">Suresh Manandhar is on the Editorial Board of the Journal of Applied Intelligence</a>'
//pausecontent[]='<a href="http://www.elsevier.com/wps/find/journaldescription.cws_home/505601/description#description">James Cussens is on the Editorial Board of the Artificial Intelligence Journal</a>'


















/***********************************************
* 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, startItem){
   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;" id="'+divId+'1">'+content[startItem]+'</div><div class="innerDiv" style="position: absolute; visibility: hidden" id="'+divId+'2">'+content[startItem+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()}, 10)
}

// -------------------------------------------------------------------
// 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))
   this.getinline(this.visiblediv, this.hiddendiv)
   this.hiddendiv.style.visibility="visible"
   this.setCentered(this.visiblediv)
   this.setCentered(this.hiddendiv)
   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.setSize()}, 1)
   setTimeout(function(){scrollerinstance.animateup()}, this.delay)
}

pausescroller.prototype.setSize=function(){
   this.tickerdiv=document.getElementById(this.tickerid)
   this.visiblediv=document.getElementById(this.tickerid+"1")
   this.hiddendiv=document.getElementById(this.tickerid+"2")
   var contentdiv = document.getElementById("Content")
   var oldHeight
   var newHeight
   if (this.tickerdiv.currentStyle) {
   } else {
      oldHeight = document.defaultView.getComputedStyle(this.tickerdiv, '').height
      newHeight = document.defaultView.getComputedStyle(contentdiv, '').height
      this.tickerdiv.style.height = newHeight
      this.setCentered(this.visiblediv)
      this.setCentered(this.hiddendiv)
      var scrollerinstance=this
      if (newHeight < 10000 && oldHeight != newHeight)
         setTimeout(function(){scrollerinstance.setSize()}, 1)
   }
}



// -------------------------------------------------------------------
// 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.setCentered(this.hiddendiv)
      this.animateup()
   }
}

pausescroller.prototype.setCentered=function(element){
   if (this.tickerdiv.currentStyle) {
   } else {
   var myStyle = document.defaultView.getComputedStyle(element, '')
   var parStyle = document.defaultView.getComputedStyle(element.parentNode, '')
   element.style.marginTop = (parseInt(parStyle.height.replace("px","")) +
                              parseInt(parStyle.paddingBottom.replace("px","")) -
                              parStyle.paddingTop.replace("px","") -
                              myStyle.height.replace("px","") -
                              myStyle.paddingTop.replace("px","") -
                              myStyle.paddingBottom.replace("px","") -
                              myStyle.borderTopWidth.replace("px","") -
                              myStyle.borderBottomWidth.replace("px",""))/2  + "px"
   }
}

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
}
