<!-- Original:  Ronnie T. Moore -->
<!-- Web Site:  The JavaScript Source -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin

var expDays = 120;
var exp = new Date(); 
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
var prev_visit;
var this_visit;


function getCookieVal (offset) {  
    var endstr = document.cookie.indexOf (";", offset);  

    if (endstr == -1)    
	endstr = document.cookie.length;  
    return unescape(document.cookie.substring(offset, endstr));
}


function GetCookie (name) {  
    var arg = name + "=";  
    var alen = arg.length;  
    var clen = document.cookie.length;  
    var i = 0;  

    while (i < clen) {    
	var j = i + alen;    
	if (document.cookie.substring(i, j) == arg)      
	    return getCookieVal (j);    
	i = document.cookie.indexOf(" ", i) + 1;    
	if (i == 0) break;   
    }  
    return null;
}


function SetCookie (name, value) {  
    var argv = SetCookie.arguments;  
    var argc = SetCookie.arguments.length;  
    var expires = (argc > 2) ? argv[2] : null;
    var path = (argc > 3) ? argv[3] : null;  
    var domain = (argc > 4) ? argv[4] : null;  
    var secure = (argc > 5) ? argv[5] : false;  

    document.cookie = name + "=" + escape (value) + 
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) +  
	((domain == null) ? "" : ("; domain=" + domain)) +    
	((secure == true) ? "; secure" : "");
}


function DeleteCookie (name) {  
    var newExp = new Date();  
    newExp.setTime (newExp.getTime() - 1);  
    var cval = GetCookie (name);
    document.cookie = name + "=" + cval + "; expires=" + newExp.toGMTString();
}


function y2k(year) {
    if (year < 2000)		
	year = year + 1900;
    return year;
}


function TimeToDay (time) {
    var t = new Date (time);
    return y2k (t.getYear ()) * 10000 + (t.getMonth ()+1) * 100 + t.getDate ();
}


function UpdateVisits () {
    var rightNow = new Date ();
    var today = TimeToDay (rightNow.getTime ());

    this_visit = GetCookie ('cs1705_this_visit');
    if (!this_visit) {
	SetCookie ('cs1705_this_visit', today, exp, '/~cs1705');
	SetCookie ('cs1705_prev_visit', 0, exp, '/~cs1705');
	this_visit = today;
	prev_visit = 0;
    }
    else if (this_visit < today) {
	SetCookie ('cs1705_prev_visit', this_visit, exp, '/~cs1705');
	SetCookie ('cs1705_this_visit', today, exp, '/~cs1705');
	prev_visit = this_visit;
	this_visit = today;
    }
    else {
	prev_visit = GetCookie ('cs1705_prev_visit');
	if (!prev_visit) {
	    SetCookie ('cs1705_prev_visit', 0, exp, '/~cs1705');
	    prev_visit = 0;
	}
    }
}


function CRNFromCookie() {
    var mySect = GetCookie( 'cs1705' );
    var result = null;
    if ( mySect != null )
    {
    switch ( mySect )
    {
        case '_46178_1': result = '96298'; break;
        case '_46182_1': result = '96299'; break;
        case '_46181_1': result = '96300'; break;
        case '_46179_1': result = '96301'; break;
        case '_46180_1': result = '96302'; break;
        case '_46183_1': result = '96303'; break;
        case '_46185_1': result = '96304'; break;
        case '_46184_1': result = '96305'; break;
    }
    }
    return result;
}


function InsertNewLogo (date) {
    if (prev_visit <= date && this_visit < date+7) {
	return document.write ('&nbsp;NEW&nbsp;&gt;&gt;&nbsp;');
    }
    else
	return "";
}


UpdateVisits ();
var myCRN = CRNFromCookie();


function InsertGradeLink() {
    var course = GetCookie( 'cs1705' );
    document.write( '<a href="' );
    if ( course == null )
    {
	document.write( '/~cs1705/Fall03/chooseLab.php' );
    }
    else
    {
	document.write( 'http://www.learn.vt.edu/bin/common/gb_mygrades.pl?course=' + course + '&nav=check_grade' );
    }
    document.write( '">Grades</a>' );
}

function InsertLabLink( label ) {
    var course = GetCookie( 'cs1705' );
    var lab = null;
    if ( course != null )
    {
    	switch ( course )
	{
            // Translates blackboard "course" id labels to the
            // corresponding "lab assignment page" content id for
            // that blackboard course's lab assignment listing
            case '_46178_1': lab = '_465524_1'; break;
            case '_46182_1': lab = '_465533_1'; break;
            case '_46181_1': lab = '_465528_1'; break;
            case '_46179_1': lab = '_465527_1'; break;
            case '_46180_1': lab = '_465525_1'; break;
            case '_46183_1': lab = '_465530_1'; break;
            case '_46185_1': lab = '_465531_1'; break;
            case '_46184_1': lab = '_465532_1'; break;
    	}
    }
    document.write( '<a href="' );
    if ( lab == null )
    {
	document.write( '/~cs1705/Fall03/chooseLab.php' );
    }
    else
    {
	document.write( 'http://www.learn.vt.edu/bin/common/content.pl?action=LIST&render_type=DEFAULT&content_id=' );
	document.write( lab );
    }
    document.write( '">' + label + '</a>' );
}


function InsertInstructorLink( label ) {
    var course = GetCookie( 'cs1705' );
    var email = 'edwards@cs.vt.edu';
    if ( course != null )
    {
    	switch ( course )
	{
            case '_46178_1':
            case '_46182_1':
            case '_46181_1':
            case '_46179_1': email = 'edwards@cs.vt.edu'; break;
            case '_46180_1':
            case '_46183_1':
            case '_46185_1':
            case '_46184_1': email = 'barnette@vt.edu'; break;
    	}
    }
    document.write( '<a href="mailto:' );
    document.write( email );
    document.write( '">' + label + '</a>' );
}


function InsertTALink( label ) {
    var course = GetCookie( 'cs1705' );
    var email = null;
    if ( course != null )
    {
    	switch ( course )
	{
            case '_46178_1': email = 'tracyL@vt.edu'; break;
            case '_46182_1': email = 'jsnook@vt.edu'; break;
            case '_46181_1': email = 'jsnook@vt.edu'; break;
            case '_46179_1': email = 'vnpandey@vt.edu'; break;
            case '_46180_1': email = 'tracyL@vt.edu'; break;
            case '_46183_1': email = 'tracyL@vt.edu'; break;
            case '_46185_1': email = 'jsnook@vt.edu'; break;
            case '_46184_1': email = 'vnpandey@vt.edu'; break;
    	}
    }
    document.write( '<a href="' );
    if ( email == null )
    {
	document.write( '/~cs1705/Fall03/chooseLab.php' );
    }
    else
    {
	    document.write( 'mailto:' );
	    document.write( email );
    }
    document.write( '">' + label + '</a>' );
}


