//clear search
function clear_search(s) {
    if (s.defaultValue == s.value || s.value == 'SEARCH') s.value = "";
}


//text resize
function newImage(arg) {
    if (document.images) {
        rslt = new Image();
        rslt.src = arg;
        return rslt;
    }
}

////////Set Nav State ////////////////////////

function setHLState() {
    
    var browser = navigator.appName
    var b_version = navigator.appVersion
    var version = parseFloat(b_version)
    
    
    for (i = 0; i < navArray.length; i++) {
        //alert(navArray[i]);
        
        //document.getElementById(navArray[i] + '_link').onmouseover = "document.toptab_01.src = 'images/home_toptab_prbsolving_on.gif';"
        //document.getElementById(navArray[i] + '_link').onmouseout = "document.toptab_01.src = 'images/home_toptab_prbsolving.gif';"
    }
    
    //alert(browser + " :: " + version);
    
    for (x = 0; x < arguments.length; x++) {
        
        var currSrc = document.getElementById(arguments[x]) .src;
        var tempSrc = currSrc.substring(currSrc.lastIndexOf('/') + 1);
        
        var newSrc = tempSrc.substring(0, tempSrc.lastIndexOf('.gif')) + "_on.gif[/system-asset:file]";
        
        document.getElementById(arguments[x]) .src = "images/" + newSrc;
        
        //alert(document.getElementById(arguments[x]))
        if (browser != "Netscape") {
            document.getElementById(arguments[x] + '_link') .onmouseout = null;
            document.getElementById(arguments[x] + '_link') .onmouseover = null;
        } else {
            delete document.getElementById(arguments[x] + '_link') .onmouseout;
            delete document.getElementById(arguments[x] + '_link') .onmouseover;
        }
    }
}



function lvlImage() {
    var imgArray = new Array();
    imgArray[0] = '<img src="images/level_photo_01.jpg" width="748" height="205" alt="" />';
    imgArray[1] = '<img src="images/level_photo_02.jpg" width="748" height="205" alt="" />';
    imgArray[2] = '<img src="images/level_photo_03.jpg" width="748" height="205" alt="" />';
    imgArray[3] = '<img src="images/level_photo_04.jpg" width="748" height="205" alt="" />';
    imgArray[4] = '<img src="images/level_photo_05.jpg" width="748" height="205" alt="" />';
    
    var imgNum = Math.floor(Math.random() * imgArray.length);
    
    document.write(imgArray[imgNum]);
}


//    newsticker
var News = new Array(0);
var totalNews = 0;
var randomnumber = 0;
var newsItems = 0;
var link = 0;
var title = 0;
var description = 0;

function displayNews() {
    
    var randomnumber = Math.floor(Math.random() *(totalNews - 1));
    document.getElementById('newsTicker') .innerHTML = '<div>' + News[randomnumber] + '</div>';
    
}

function processNews(type, data, evt) {
    newsItems = data.getElementsByTagName("item");
    var i;
    totalNews = newsItems.length;
    News = new Array(totalNews);
    for (i = 0; i < newsItems.length; i++) {
        title = newsItems[i].getElementsByTagName("title") [0].firstChild.nodeValue;
        link = newsItems[i].getElementsByTagName("link") [0].firstChild.nodeValue;

        if(newsItems[i].getElementsByTagName("image_path") [0].firstChild.nodeValue){
       image_path = newsItems[i].getElementsByTagName("image_path") [0].firstChild.nodeValue;
}else{             
        image_path = "";
}
        description = newsItems[i].getElementsByTagName("description") [0].firstChild.nodeValue;
        title = "<a href='" + link + "'>" + title + "</a>";
        News[i] = "<div class=\"alumni_floatright\"><img src='" + image_path + "'/></div><p><b>" + title + "</b><br/><br/>" + description + "&nbsp;<a href='" + link + "'class='newsTickerLink'>Read More &#187;</a> | <a href='http://www.cmu.edu/news/index.shtml' class='newsTickerLink'>Other news &#187;</a></p>";
    }
    
    displayNews();
}

/*
* note  that IE handles  the mimetype differently than other browsers
* in IE, if the extension of the file to load isn't .xml, it won't parse the
* file although firefox, safari, and opera all do. I had to add a .xml
* output to the news rss page in the cms to get IE to parse the file.
* the most annoying part is that IE did NOT report any errors - it just
* silently failed. so if you use a text/xml mimetype, the extension must be .xml
*/

function loadNews() {

    dojo.io.bind({
        url: "/RSS/news.xml",
        useCache: true,
        preventCache: true,
        mimetype: "text/xml",
        load:dojo.lang.hitch(this, this .processNews)
    });
}

function getNews() {
    loadNews();
    return;
}
//end newsticker


// Third Column Callout Articles Array //
var articleCounted = 0;
var totalArticles = 0;
var articles = new Array(0);

function displayArticle() {
    if (totalArticles == 0) {
        return;
    }
    if (articleCounted >= totalArticles) {
        articleCOunted = 0;
    }
    document.getElementById('lvl_3rdCol_Article') .innerHTML = '<div>' + articles[articleCounted] + '</div>';
}

function processArticles(type, data, evt) {
    var themes = data.getElementsByTagName("theme");
    var i;
    totalArticles = themes.length;
    articles = new Array(totalArticles);
    for (i = 0; i < themes.length; i++) {
        var themename = themes[i].getElementsByTagName("box-title") [0].firstChild.nodeValue;
        var heads = themes[i].getElementsByTagName("headline");
        var project = themes[i].getElementsByTagName("project") [0];
        var headline = project.getElementsByTagName("title") [0].firstChild.nodeValue;
        var article = project.getElementsByTagName("article") [0];
        var articleText = article.firstChild.nodeValue;
        var articleLink = article.getAttribute("linkID");
        var teaser = project.getElementsByTagName("teaser") [0].firstChild.nodeValue;
        var photo = project.getElementsByTagName("photo") [0];
        var photoLink = photo.getAttribute("thirdColID");
        
        articles[i] = '<div><span class="floatright"><img src=\"/' + photoLink + '\" width="201" height="117" valign="top" alt=""/></span><h3>' + headline + '</h3><p>' + teaser + '</p><p><a href="/' + articleLink + '"><img src="/cmufront/homeimages/btn_readarticle.gif" width="102" height="15" border="0" alt="Read Article" title="Read Article" /></a></p><h1>' + themename + '</h1></div>';
    }
    displayArticle();
}

function loadArticles() {
    dojo.io.bind({
        url: "/themes.xml",
        useCache: true,
        preventCache: true,
        mimetype: "text/xml",
        load:dojo.lang.hitch(this, this .processArticles)
    });
}

function setArticleNum(num) {
    articleCounted = num;
    if (articles.length == 0) {
        loadArticles();
        return;
    }
    displayArticle();
}

function getArticle(step) {
    if (articles.length == 0) {
        loadArticles();
        return;
    }
    
    articleCounted += step;
    
    if (articleCounted < 0) {
        articleCounted = totalArticles - 1;
    }
    if (articleCounted >= totalArticles) {
        articleCounted = 0;
    }
    displayArticle();
}


// Third Column Callout Fast Facts Array //
var fastfactCounted = 0;
var totalFastFact = 0;
var fastfacts = new Array(0);

function loadFastFacts() {
    dojo.io.bind({
        url: "/about/fastfacts.xml",
        useCache: true,
        preventCache: true,
        mimetype: "text/xml",
        handler: function (type, data, e) {
            if (type == "load") {
                var fastFactNodes = data.getElementsByTagName("fact");
                var i;
                totalFastFact = fastFactNodes.length;
                fastfacts = new Array(totalFastFact);
                for (i = 0; i < totalFastFact; i++) {
                    fastfacts[i] = '<p>' + fastFactNodes[i].firstChild.nodeValue + '</p><h1>Fast Facts</h1>';
                }
                var factNum = Math.floor(Math.random() * fastfacts.length);
                document.getElementById('fast-facts') .innerHTML = '<div>' + fastfacts[factNum] + '</div>';
            }
        }
    });
}

function getFastFact(step) {
    if (fastfacts.length == 0) {
        loadFastFacts();
        return;
    }
    fastfactCounted += step;
    
    if (fastfactCounted < 0) {
        fastfactCounted = totalFastFact - 1;
    }
    if (fastfactCounted >= totalFastFact) {
        fastfactCounted = 0;
    }
    
    document.getElementById('fast-facts') .innerHTML = '<div>' + fastfacts[fastfactCounted] + '</div>';
    //tipCounted++;
}
//getFastFact(0);

//    Alumniticker
var Alumni = new Array(0);
var totalAlumni = 0;
var randomnumber = 0;
var alumniNodes = new Array(0);
var i;
var items = 0;


function displayAlumni(Alumni) {

    //alert(Alumni.length);

    if (Alumni.length == 0) {
        document.getElementById('AlumniTicker') .innerHTML = '<div>none found</div>';
        return false;
    }
    if (Alumni.length > 1) {
        randomnumber = Math.floor( Math.random() * Alumni.length )
        document.getElementById('AlumniTicker') .innerHTML = Alumni[randomnumber];
        //DEBUG document.getElementById('AlumniTicker').innerHTML = '<form><textarea>' + Alumni[2] + '</textarea></form>';
    } else {
        document.getElementById('AlumniTicker') .innerHTML = Alumni[0];
    }
}


function processAlumni(type, data, evt) {
    items = data.getElementsByTagName("alum");
    var i;
    var name;
    var photo;
    var description;
    
    totalAlumni = items.length;
    
    var Alumni = [];
    var element = 0;
    
    for (i = 0; i < totalAlumni; i++) {
        var show_on_homepage = items[i].getElementsByTagName("default")[0].childNodes[0].nodeValue;
        
        if(show_on_homepage == 'true'){
  
            name = items[i].getElementsByTagName("name") [0].childNodes[0].nodeValue;
            photo = items[i].getElementsByTagName("photo") [0].childNodes[0].nodeValue;
            description = items[i].getElementsByTagName("content") [0].childNodes[0].nodeValue;
                       
            Alumni[element] = "<div class='featured'><h2>Featured:&nbsp;" + name + " </h2><div class='content'>";
            if (photo != '/') {
                Alumni[element] += "<img src='" + photo + "' class='alumni_floatleft'/>" + description + "</div></div>";
            }else{
                Alumni[element] += description + "</div></div>";
            }
            element++;
        }
    }
    
    displayAlumni(Alumni);
}

function loadAlumni() {
    dojo.io.bind({
        url: "/alumni/find/notable.xml",
        useCache: true,
        preventCache: true,
        mimetype: "text/xml",
        load:dojo.lang.hitch(this, this .processAlumni)
    });
}
function getAlumni() {
    if (Alumni.length == 0) {
        loadAlumni();
        return;
    }
    
    //displayAlumni();
}
//end newsticker

function selectQuickLink(select) {
    var selectedNode = select.options[select.selectedIndex];
    var url = selectedNode.value;
    var text = selectedNode.text;
    
    if (text) {
        urchinTracker('/quicklinks/' + text);
    }
    if (url) {
        location = url;
    }
}

function logSearchTerm(searchterm) {
    if (! searchterm) {
        return true;
    }
    var termstr = searchterm.value;
    if (termstr) {
        urchinTracker('/searchterms/' + termstr);
    }
    return true;
}
