//<!--

////var img1 = "http://www.fas.nus.edu.sg/_images/research/staffresearchportal.jpg";
////var img2 = "";
////var img3 = "";

function getContentFromIframe(iFrameName)
{
var myIFrame = document.getElementById(iFrameName);
var content = myIFrame.contentWindow.document.body.innerHTML;
return(content);
}

var sText = ""
var i=0
var iNews=0
var rss=null;

var xmlHttp = null;//for firefox
var itemNewsTexts = new Array();
var itemNewsLinks = new Array();
var itemNewsDesc=new Array();

function startAjaxNews()
{
if (window.ActiveXObject)
{
rss = new ActiveXObject("Microsoft.XMLDOM");
rss.async = false
rss.load("./news/world.xml");
GetNewsSource();
}
else if (document.implementation && document.implementation.createDocument)
{
xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET","./news/world.xml",true);
xmlHttp.send(null);
xmlHttp.onreadystatechange=function()
  {
  if (xmlHttp.readyState==4 && xmlHttp.status==200)
    {
    GetNewsSource();
    }
  } 
//rss = document.implementation.createDocument("","",null);
//rss.onload = GetNewsSource;
//rss.load("./news/world.xml")
}
else
{
alert('Your browser cannot handle this script');
}
}

function startIframeNews()
{
rss =(new DOMParser()).parseFromString(getContentFromIframe("xmlFrame"), "text/xml");
GetNewsSource();
}

function GetNewsSource()
{
if (window.ActiveXObject)
{
loadTablesForIE();
}
else if (document.implementation && document.implementation.createDocument)
{
    if(rss==null&&xmlHttp.responseText.length!=0)
    {
    loadTablesForFirefox();
    }
}
//buildInfoTable();
newsRoller();
}//End Function



function loadTablesForIE()
{//this on is for internet explorer
var itemNodes = rss.getElementsByTagName("item"); //selectNodes("/channel/item");
//alert(itemNodes.length);

for(var tmp1=0; tmp1<=itemNodes.length-1; tmp1++)
{
itemNewsTexts[itemNewsTexts.length]=itemNodes.item(tmp1).getElementsByTagName("title").item(0).text;
itemNewsLinks[itemNewsLinks.length]=itemNodes.item(tmp1).getElementsByTagName("link").item(0).text;
itemNewsDesc[itemNewsDesc.length]=itemNodes.item(tmp1).getElementsByTagName("description").item(0).text;
}
}

function loadTablesForFirefox()
{
rss=xmlHttp.responseXML;
      
      var itemNodes=rss.getElementsByTagName("item");

                  for (var i=0;i<itemNodes.length;i++)
                  {
                      if(itemNodes[i].nodeName=="item")
                      {
                          for (var j=0;j<itemNodes[i].childNodes.length;j++)
                            {
                                if(itemNodes[i].childNodes.item(j)!=null&&itemNodes[i].childNodes.item(j).nodeName=="title")
                                {
                                //alert(itemNodes[i].childNodes.item(j).childNodes.item(0).nodeValue);
                                itemNewsTexts[itemNewsTexts.length]=itemNodes[i].childNodes.item(j).childNodes.item(0).nodeValue;
                                 }
                                 else if(itemNodes[i].childNodes.item(j)!=null&&itemNodes[i].childNodes.item(j).nodeName=="link")
                                {
                                //alert(itemNodes[i].childNodes.item(j).childNodes.item(0).nodeValue);
                                itemNewsLinks[itemNewsLinks.length]=itemNodes[i].childNodes.item(j).childNodes.item(0).nodeValue;
                                }
                                else if(itemNodes[i].childNodes.item(j)!=null&&itemNodes[i].childNodes.item(j).nodeName=="description")
                                {
                                //alert(itemNodes[i].childNodes.item(j).childNodes.item(0).nodeValue);
                                itemNewsDesc[itemNewsDesc.length]=itemNodes[i].childNodes.item(j).childNodes.item(0).nodeValue;
                                }
                            }
                            
                      }
                  }//End For
}


function newsRoller()
{
var iMax = itemNewsTexts.length;
var myTicker = document.getElementById("myTicker");
myTicker.href = itemNewsLinks[iNews];
myTicker.title = itemNewsDesc[iNews];
sText=itemNewsTexts[iNews];
ticker();

iNews+=1
if(iNews==iMax){
iNews=0
}
window.setTimeout("newsRoller()", (10*sText.length +4000))
}

function ticker(){
i+=4
try{myTicker.innerText = sText.substring(0,i) + "*";}catch(e){document.getElementById("myTicker").innerHTML=sText.substring(0,i) + "*";}
if(i<sText.length){
window.setTimeout("ticker()",10)
}
else{
i=0
}
}


function buildInfoTable()
{
//***********************************
                    var tblString= "<table  style=\"border:0\" cellpadding=\"0\" cellspacing=\"0\">";
                                for(var tmp1=0; tmp1<=3; tmp1++)
                                {
                                
                                tblString+="<tr><td><h2><a href=\""+itemNewsLinks[tmp1]+"\" target=\"_blank\">";
                                tblString+= itemNewsTexts[tmp1]+"</a></h2>";
                                tblString+="<p>"+ itemNewsDesc[tmp1]+"</p></td></tr>"
                                }
                    tblString+="</table>";
                    document.getElementById("tblInfo").innerHTML=tblString;
                  //***********************************
}

function IsImageOk(img) 
        {
            // During the onload event, IE correctly identifies any images that
            // weren’t downloaded as not complete. Others should too. Gecko-based
            // browsers act like NS4 in that they report this incorrectly.
            if (!img.complete) {
                return false;
            }

            // However, they do have two very useful properties: naturalWidth and
            // naturalHeight. These give the true size of the image. If it failed
            // to load, either of these should be zero.

            if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) {
                return false;
            }

            // No other way of checking: assume it’s ok.
            return true;
        }

//Call this function onLoad of body tag
function checkImages() 
{
for(var tmpx2=1; tmpx2<=numOfItems;tmpx2++)
{
try{
    imgArr[tmpx2-1] = new Image();
    imgArr[tmpx2-1].src = window["img"+tmpx2];
    //alert(imgArr[tmpx2-1].src);
    
    if (!IsImageOk(imgArr[tmpx2-1])) {
    imgArr[tmpx2-1].src = "./images/nuslogo.png";
    }
    }
    catch(e){imgArr[tmpx2-1].src = "./images/nuslogo.png";}
    }
}


//startIframeNews();
startAjaxNews();

