function milResponseCharCount(myId) {
   
    //counts the number of characters entered into the mill response field
    var countLbl = $UCR('milResponseErr');
    var countSrc = document.getElementById(myId.id);
    var maxChars = 500;
    var totalChars = myId.value.length;
    var remainingChars = maxChars - totalChars;    
    var baseMsg = 'Character count: ' + totalChars + '. Remaining: ' + remainingChars;
    if(totalChars == 0){countLbl.className = "charCountEmpty";}
    else{
        if(totalChars > 0 && totalChars < 500){countLbl.className = "charCount";}
        else{countLbl.className = "charCountFull";}
    }
    countLbl.innerHTML = baseMsg;
}

function sendMilResponse()
{
    //sends the mil response to the server
    var rtg = true;
    var msg = $UCR('txtMilResponse').value;
    if(msg.length == 0)
    {
        rtg = false;
        var errLbl = $UCR('milResponseErr');
        errLbl.className = 'responseErr';
        errLbl.innerHTML = 'Please enter your response.';        
    }
    if(msg.length > 500){msg = msg.substring(0,500);}
    if(rtg)
    {
        var sendBtn = $UCR('btnSendResponse');
        sendBtn.disabled = true;
        var CPID = $UCR('hidCPID').value;
        var MyUCRID = $UCR('hidMyUCRID').value;
        var msgID = $UCR('hidMilID').value;
        var url = "ajax.aspx?milResponse=" + msgID + "&cpid=" + CPID + "&myucrid=" + MyUCRID + "&resp=" + escape(msg);
        ajaxCall("GET",url,"CompleteMilResponse()");        
    }
}

function CompleteMilResponse()
{
	//displays feedback after sending a mil
    var myJSON = req.responseText;
    var func = new Function("return " + myJSON);
    var jsonObj = func();
    if(jsonObj != undefined && jsonObj.length > 0)
    {
        response = jsonObj[0]["response"];
        if(parseInt(response) != "NaN")
        {
            $UCR('msgContent').style.display = 'none';
            ShowCompletedMsgs('milsMsgs');
        }
        else
        {
            eMsg("We're sorry, an error occured. Please try again.", _errColor, "milResponseErr");            
        }
    }    
}

function ExpandAccordian(evt)
{
    //expands the left hand side message accordian
    var qs = document.location.search;
    if(document.location.search != "")
    {
        qs = document.location.search.split('=');
        elemAr = qs[1].split('&');
        elem = elemAr[0];
        
        switch (elem)
        {
            case "m":
                myElem = 'mils';
                break;
            case "r":
                myElem = 'reminders';
                break;
            case "t":
                myElem = 'todos';
                break;
            case "c":
                myElem = 'calendars';
                break;
            default:
                myElem = 'completed';
        }
        
        toggleAccordian(myElem);
    }                
}
function toggleHeader(myHeader, headerState)
{		
	var idPrefix = document.getElementById('MyUCR_hidAppName').value + "_";
	var myID = myHeader.id.replace(idPrefix,'');
	myHeader.className = 'accordionTabTitleBar' + headerState + myID;
}

function toggleSubHeader(myHeader, headerState)
{		
	var splitter = "Down"
	var tmp = myHeader.className.split(splitter)
	if(tmp.length == 1) //didn't find it
	{
		splitter = "Up";
		tmp = myHeader.className.split(splitter);
	}
	
	myHeader.className = tmp[0] + headerState;
}

function resetAccordion(activeElement)
{
	var headers = new Array("mils","todos","reminders","calendars","completed");
	var downElement = $UCR('MyUCR_hidCurrTab').value;
	if(downElement != activeElement.id)
	{
		//find the panel that's down
		for(var i=0;i<headers.length;i++)
		{
			if($UCR(headers[i]+"Msgs") != null && $UCR(headers[i]+"Msgs").style.display == 'block')
			{
				if(headers[i] != activeElement.id)
				{
					$("#"+headers[i]+"Msgs").slideUp("slow");
					toggleHeader($UCR(headers[i]), "Down");
				}
			}
		}
	}	
}

function resetSubAccordion(activeElement)
{
	var headers = new Array("completedMils","completedTodos","completedReminders","completedCalendars", "completedPolls");
	var downElement = $UCR('MyUCR_hidCurrSubTab').value;
	if(downElement != activeElement.id)
	{
		//find the panel that's down
		for(var i=0;i<headers.length;i++)
		{
			if($UCR(headers[i]+"_Msgs") != null && $UCR(headers[i]+"_Msgs").style.display == 'block')
			{
				if(headers[i] != activeElement.id)
				{
					$("#"+headers[i]+"_Msgs").slideUp("slow");
					toggleSubHeader($UCR(headers[i]), "Down");
				}
			}
		}
	}	
}

function toggleAccordian(evt)
{   //toggles the messaging accordian
    var e = evt ? evt : window.event;
    if(!e) return;
    if(!document.attachEvent){if(e){activeElement = e;}}
    else{var activeElement = event.srcElement;}
    resetAccordion(activeElement);	
	
	var idPrefix = document.getElementById('MyUCR_hidAppName').value + "_";
	var myID = e.id.replace(idPrefix,'');
	
	var upSpeed = "slow";
	var downSpeed = "slow";	
	var myClass = activeElement.className;
	if(myClass.indexOf("Up") > -1)
	{
		var x = e.getElementsByTagName("p");
		for(var i=0;i<x.length;i++)
		{x[i].className='';}
		toggleHeader(activeElement, "Down");
		$("#"+myID+"Msgs").slideUp(upSpeed);			
	}
	else
	{
		var x = e.getElementsByTagName("p");
		for(var i=0;i<x.length;i++)
		{x[i].className='';}
		toggleHeader(activeElement, "Up");
		$("#"+myID+"Msgs").slideDown(downSpeed);
		$UCR('MyUCR_hidCurrTab').value = activeElement.id;		
	}
}

function toggleSubAccordion(evt)
{
	var e = evt ? evt : window.event;
    if(!e) return;
    resetSubAccordion(e);
	var upSpeed = "slow";var downSpeed = "slow";
	var myState = "Down";
	if(e.className.indexOf("Up") == -1 && e.className.indexOf("Down")== -1){return;}	
	
	if(e.className.indexOf("Up") > -1){myState = "Up";}
	if(myState == "Up")
	{
		toggleSubHeader(e, "Down");
		$("#"+e.id+"_Msgs").slideUp(upSpeed);
		
	}
	else
	{
		toggleSubHeader(e, "Up");
		$("#"+e.id+"_Msgs").slideDown(downSpeed);
		$UCR('MyUCR_hidCurrSubTab').value = e.id;
	}
}
function ShowMessagePanel(panel)
{
    //toggles the display properties of the selected accordian panel
    var tabTitle, tabPanel;
    switch (panel)
    {
        case "t":
            tabTitle = $UCR('todos');
            tabPanel = $UCR('todosMsgs');
            break;
        
        case "r":
            tabTitle = $UCR('reminders');
            tabPanel = $UCR('remindersMsgs');
            break;
        
        case "c":
            tabTitle = $UCR('calendars');
            tabPanel = $UCR('calendarsMsgs');
            break;
        
        case "m":
            tabTitle = $UCR('mils');
            tabPanel = $UCR('milsMsgs');
            break;
    }
    if(tabTitle != null && tabPanel != null)
    {
        tabTitle.style.marginBottom = 0;
        tabTitle.style.borderBottom = 0;
        tabTitle.className = 'accordionTabTitleBarUp';
        tabPanel.style.display = 'block';
    }
}

/*MyUCR messaging functions */
function LoadHomePage()
{
    GetHomeMessages();      
}

var messagingPage = false;

function GetHomeMessages()
{
    //called on page onload. if 'homeMsgs' div is there, then starts off with getting homepage messages
    //otherwise starts off with reminders.    
    var myUCRID = $UCR('hidMyUCRID').value;
    var myCPID = $UCR('hidCPID').value;
    if($UCR('homeMsgs') != null)
    {   
        var url = 'ajax.aspx?act=homemsg&id=' + myUCRID + '&cpid=' + myCPID;    
        ajaxCall("GET", url, "ShowMsg('homeMsgs')"); 
    }
    else
    {
        //this is the messaging page (because 'homeMsgs' DIV is not here)
        //add a flag to get the completed messages
        messagingPage = true;
        GetReminders();
    }
        
    //check to see what type of message is being displayed and expand the div
    var pg = document.location.href.split('/');
    if(pg[pg.length-1].indexOf("messaging") != -1)
    {
        var msgType = pg[pg.length-1].split('?');
        if(msgType.length > 1)
        {
            var mType = msgType[1].split('=');
            var mT = mType[1].split('&');
            switch (mT[0])
            {
                case "t":
                    $UCR('todosMsgs').style.display = 'block';    
                    break;
                case "r":
                    $UCR('remindersMsgs').style.display = 'block';
                    break;
                case "c":
                    $UCR('calendarsMsgs').style.display = 'block';
                    break;
                case "m":
                    if($UCR('milsMsgs') != null)
                        $UCR('milsMsgs').style.display = 'block'; 
                    break;                   
                case "mc":
                    $UCR('completedMsgs').style.display = 'block'; 
                    break;
                case "tc":
                    $UCR('completedMsgs').style.display = 'block'; 
                    break;
                case "cc":
                    $UCR('completedMsgs').style.display = 'block'; 
                    break;
                case "rc":
                    $UCR('completedMsgs').style.display = 'block'; 
                    break;
            }
        }        
    }       
}

function GetReminders()
{
    var myUCRID = $UCR('hidMyUCRID').value;  
    var myCPID = $UCR('hidCPID').value;
    var url = 'ajax.aspx?act=reminder&id=' + myUCRID + '&cpid=' + myCPID;    
    ajaxCall("GET", url, "ShowMsg('remindersMsgs')");    
}

function GetTodos() {
    
    var myUCRID = $UCR('hidMyUCRID').value;
    var myCPID = $UCR('hidCPID').value;
    var url = 'ajax.aspx?act=todos&id=' + myUCRID + '&cpid=' + myCPID;    
    ajaxCall("GET", url, "ShowMsg('todosMsgs')");    
}

function GetCalendars()
{
    var myUCRID = $UCR('hidMyUCRID').value;
    var myCPID = $UCR('hidCPID').value;
    var url = 'ajax.aspx?act=calendars&id=' + myUCRID + '&cpid=' + myCPID;    
    ajaxCall("GET", url, "ShowMsg('calendarsMsgs')");    
}

function GetSpotlights()
{    
    GetHomeMessages();
}

function ShowSpotlights(msg)
{
    var myJSON = req.responseText;
    var func = new Function("return " + myJSON);
    var jsonObj = func();
    var msgCount = 0;
    if(jsonObj != undefined)
        msgCount = jsonObj.length;
    var divMsgs = $UCR(msg);
    if(divMsgs != null)
    {    
        ClearDiv(divMsgs);
        if(msgCount > 0)
        {
            for( i = 0; i < msgCount; i++)
            {
                var msgId = jsonObj[i]["msgId"];
                var msgName = jsonObj[i]["msgName"];
                var msgHtml = jsonObj[i]["msgHtml"];
                var msgURL = jsonObj[i]["msgURL"];
                
                var msgAlt = jsonObj[i]["msgAlt"];
                var msgDest = jsonObj[i]["msgDestination"];
                var linkMe = false;
                if(msgDest.length > 0){linkMe = true;}
                BuildSpotlight(divMsgs, msgId, msgName, msgHtml, msgURL, msgAlt, msgDest, linkMe);
            }
        
        }
    } 
    GetHomeMessages();
    
}

//builds the elements for each section
function BuildSpotlight(divName, msgId, msgName, msgHtml, msgURL, msgAlt, msgDest, hasLink)
{
    var spotHeader = document.createElement("p");
    var mName = document.createElement("p");
    var mHtml = document.createElement("span");        
    var mImg = new Image();
    
    mImg.src = "http://student08.ucr.edu/MyUCRSpotlights/" + msgURL;
    mImg.alt = msgAlt;
    mImg.className = 'spotlightImg';    
    mHtml.className = "spotlight";
    if(hasLink){var mA = document.createElement("a");mA.href = msgDest;mA.appendChild(mImg);mName.appendChild(mA);}
    else{mName.appendChild(document.createTextNode(msgName));}
    mHtml.innerHtml = msgHtml;
    divName.appendChild(mName);
    divName.appendChild(mHtml);
}

function GetCompletedMessages()
{
    GetMilResponses();    
}

function GetMilResponses()
{
    var myUCRID = $UCR('hidMyUCRID').value;
    var myCPID = $UCR('hidCPID').value;
    var url = 'ajax.aspx?getMilResponses=1&id=' + myUCRID + '&cpid=' + myCPID;    
    ajaxCall("GET", url, "ShowCompletedMsgs('milsMsgs')");        
}

function GetCompletedTodos()
{
    var myUCRID = $UCR('hidMyUCRID').value;
    var myCPID = $UCR('hidCPID').value;
    var url = 'ajax.aspx?getCompletedTodos=1&id=' + myUCRID + '&cpid=' + myCPID;
    ajaxCall("GET", url, "ShowCompletedMsgs('todosMsgs')");
}

function GetCompletedReminders()
{
    var myCPID = $UCR('hidCPID').value;
    var url = 'ajax.aspx?getCompletedReminders=1&cpid=' + myCPID;
    ajaxCall("GET", url, "ShowCompletedMsgs('reminderMsgs')");
}

function GetCompletedPolls()
{
	var myUCRID = $UCR('hidMyUCRID').value;
    var url = 'ajax.aspx?getTakenPolls=1&myUCRID=' + myUCRID;
    ajaxCall("GET", url, "ShowCompletedMsgs('polls')");	
}

function ShowCompletedMsgs(msgType)
{
    var myJSON = req.responseText;
    var func = new Function("return " + myJSON);
    var jsonObj = func();
    switch(msgType)
    {
        case "milsMsgs":
            ShowCompletedMils(jsonObj);
            break;
        case "todosMsgs":            
            ShowCompletedTodos(jsonObj);
            break;
        case "reminderMsgs":
            ShowCompletedReminders(jsonObj);
            break;
		case "polls":
			ShowCompletedPolls(jsonObj);
			break;
    }
    var statusDiv = $UCR('MyUCR_pageLoading');
    var statusMsg = "Personal information loading now... ";
    if(msgType == "reminderMsgs"){window.statusID = setTimeout(loadingComplete,1500);}

}

function ShowCompletedMils(jsonObj)
{
    var headerDiv = $UCR('completedMils');
	var divMsgs = $UCR('completedMils_Msgs');
    var MyUCRID = $UCR('hidMyUCRID').value;	
    msgCount = jsonObj.length;
    var st = "items";
    if(msgCount == 1){st = "item";}
	$UCR('completedMils_Count').innerHTML = "<strong>Messages</strong> (" + msgCount + " " + st + ")";	
	if(jsonObj.length > 0)
    {               
 		headerDiv.className = "subMenuTabHeaderMilsDown";
        for(var i = 0; i < msgCount; i++)
        {   
			var mName = document.createElement("p");
            var mHtml = document.createElement("span");    
            mHtml.className = "homeMsgBody";    
            var mA = document.createElement("a");
            var msgId = jsonObj[i]["MILSgID"];            
            var destPage = GetDestPage('milsMsgs');            
            mA.href = destPage + "c&msgId=" + msgId + "&id=" + MyUCRID;                        
            mA.innerHTML = jsonObj[i]["MyUCRTitle"];
            mName.appendChild(mA);
            divMsgs.appendChild(mName);            
            tmpDate = jsonObj[i]["dateSubmitted"];
            mHtml.innerHTML = "You replied on " + tmpDate;    
            divMsgs.appendChild(mHtml);        
        }
     }
    else
    {   
        $UCR('completedMils_Count').innerHTML = "<strong>No Replied to Messages</strong>";						
    }    
    GetCompletedTodos();
}
function ShowCompletedTodos(jsonObj)
{
    var headerDiv = $UCR('completedTodos');
	var divMsgs = $UCR('completedTodos_Msgs');
	var MyUCRID = $UCR('hidMyUCRID').value; 
	msgCount = jsonObj.length;
	var st = "items";
    if(msgCount == 1){st = "item";}
    $UCR('completedTodos_Count').innerHTML = "<strong>Completed To-Dos</strong> (" + msgCount + " " + st + ")";
	
	if(jsonObj.length > 0)
    {          
		headerDiv.className = "subMenuTabHeaderTodosDown";
        for(var i = 0; i < msgCount; i++)
        {   
            var mName = document.createElement("p");
            var mHtml = document.createElement("span");
            mHtml.className = "homeMsgBody";
            var mA = document.createElement("a");
            var msgId = jsonObj[i]["ToDoID"];
			mA.style.cursor='pointer';			
			mA.setAttribute("msgId", msgId);
			mA.setAttribute("msgType", "t");	
			addEvent(mA, "click", GetSingleMessage);
            mA.innerHTML = jsonObj[i]["todoName"];
            mName.appendChild(mA);
            divMsgs.appendChild(mName);
            mHtml.innerHTML = CleanMessageText(TruncateWithMore('todosMsgs', jsonObj[i]["todoItem"], msgId));
            divMsgs.appendChild(mHtml);
        }        
    }
	else
	{
		$UCR('completedTodos_Count').innerHTML = "<strong>No Completed To-Dos</strong>";
					
	}
    GetCompletedReminders();    
}
function ShowCompletedPolls(jsonObj)
{
	var headerDiv = $UCR('completedPolls');
	var divMsgs = $UCR('completedPolls_Msgs');
	var MyUCRID = $UCR('hidMyUCRID').value;
	if(jsonObj.length > 0)
	{		
		msgCount = jsonObj.length;
		var st = "items";
		if(msgCount == 1){st = "item";}
		$UCR('completedPolls_Count').innerHTML = "<strong>Polls Taken</strong> (" + msgCount + " " + st + ")";		
		headerDiv.className = "subMenuTabHeaderPollsDown";
		for(var i=0;i<msgCount;i++)
		{
			var msgId = jsonObj[i]["pollID"];
			var mName = document.createElement("p");
			var mHtml = document.createElement("span");
			mName.id = "pollComp" + msgId + "_" + MyUCRID;
			mHtml.id = "pollMsgComp" + msgId + "_" + MyUCRID;
			mHtml.className = "homeMsgBody";
			var mA = document.createElement("a");
			mA.style.cursor="pointer";
			mA.setAttribute("msgId", msgId);
			mA.setAttribute("msgType", "p");
			addEvent(mA, "click", GetSingleMessage);
			mA.innerHTML = jsonObj[i]["pollName"];
			mName.appendChild(mA);
			divMsgs.appendChild(mName);
			mHtml.innerHTML = CleanMessageText(TruncateWithMore('pollsMsgs', jsonObj[i]["pollText"], msgId));
			divMsgs.appendChild(mHtml);
		}
	}
	else
	{
		$UCR('completedPolls_Count').innerHTML = "<strong>No Completed Polls</strong>";	
	}
	GetHomeMessages();
}

function ShowCompletedReminders(jsonObj)
{    
	var headerDiv = $UCR('completedReminders');
	var divMsgs = $UCR('completedReminders_Msgs');
    var MyUCRID = $UCR('hidMyUCRID').value;
    msgCount = jsonObj.length;
    var st = "items";
    if(msgCount == 1){st = "item";}
    $UCR('completedReminders_Count').innerHTML = "<strong>Completed Reminders</strong> (" + msgCount + " " + st + ")";	
	if(jsonObj.length > 0)
    {   
		headerDiv.className = "subMenuTabHeaderRemindersDown";
        for(var i = 0; i < msgCount; i++)
        {
            var msgId = jsonObj[i]["msgId"];
            var mName = document.createElement("p");
            var mHtml = document.createElement("span");
            mName.id = "remComp" + msgId + "_" + MyUCRID;
            mHtml.id = "remMsgComp" + msgId + "_" + MyUCRID;
            mHtml.className = "homeMsgBody";
            var mA = document.createElement("a");                    
			mA.style.cursor='pointer';			
			mA.setAttribute("msgId", msgId);
			mA.setAttribute("msgType", "rc");	
			addEvent(mA, "click", GetSingleMessage)							
			mA.innerHTML = jsonObj[i]["msgName"];
			mName.appendChild(mA);
            divMsgs.appendChild(mName);
            mHtml.innerHTML = CleanMessageText(TruncateWithMore('remindersMsgs', jsonObj[i]["msgText"], msgId));
            divMsgs.appendChild(mHtml);
        }                
    }
	else
	{
		$UCR('completedReminders_Count').innerHTML = "<strong>No Completed Reminders</strong>";					
	}
    GetCompletedPolls();
}

function GetNextReminder(val)
{
	var myUCRID = $UCR('hidMyUCRID').value;
	var url = '';
	var reminderHolder;
	var nextMsg = new Array();
	switch(parseInt(val))
	{
	    case 0:
	        reminderHolder = $UCR('remindersMsgs');  
			if(reminderHolder.childNodes.length>0)
			{
				nextMsg = reminderHolder.firstChild.getElementsByTagName("a");	
			}  
	        
	        break;
	        
	    case 1:
	        reminderHolder = $UCR('completedReminders_Msgs');
			if(reminderHolder.childNodes.length>0)
			{
				nextMsg = reminderHolder.childNodes[0].getElementsByTagName("a");	
			}
	        
	        break;
	}
	
	if(nextMsg.length > 0)
	{		
		var rId = nextMsg[0].getAttribute("msgid");
		var url = 'ajax.aspx?getSingleReminder=' + rId;
		ajaxCall("GET", url, "DisplayNextReminder('" + val + "')");		
	}
	else
	{
		reminderHolder.style.display = 'none';
		if(parseInt(val) == 1)
		{
			$UCR('completedReminders_Count').innerHTML = "<strong>No Completed Reminders</strong>";
			$UCR('completedReminders').className = "subMenuTabHeaderReminders";
		}
		
	}
}

function GetReminderID(lnk)
{
	var args = lnk.split('&');
	for(var i=0;i<args.length;i++)
	{
		if(args[i].indexOf('msgId')> -1)
		{
			var tmp = args[i].split('=');
			var rId = tmp[1];
		}
	}
	return rId;
}

function BadHTMLMix(msgHTML, reminderHolder)
{
	var retval = false;
	if((msgHTML.indexOf("<p>") > -1 || msgHTML.indexOf("<P>") > -1) && reminderHolder.tagName == "P")
	{
		retval = true;
	}
	return retval;
}

function DisplayNextReminder(val)
{
	var myJSON = req.responseText;
    var func = new Function("return " + myJSON);
    var jsonObj = func();
	var msgContent = $UCR('msgContent'); 
	var icon = $UCR('compChk');
	var chkBoxText = $UCR('chkBoxText');
	var MyUCRID = $UCR('hidMyUCRID').value;
	var reminderHolder = $UCR('reminderText');
	if(jsonObj.length > 0)
	{
		$("#MyUCR_pageLoading").fadeOut(1000);
		var remId = jsonObj[0]["reminderID"];
		var h3 = $UCR('h3Reminder');
		h3.innerHTML = '';
		var hSpan = document.createElement("span");    
    	hSpan.appendChild(document.createTextNode("Reminder: "));
    	h3.appendChild(hSpan);
		h3.appendChild(document.createTextNode(CleanMessageText(jsonObj[0]["reminderName"])));
		var msgHTML = jsonObj[0]["reminderHTML"];
		if(BadHTMLMix(msgHTML, reminderHolder))
		{
			msgContent.removeChild(reminderHolder);
			var newDiv = document.createElement("div");
			newDiv.id = "reminderText";
			newDiv.innerHTML = CleanMessageText(msgHTML);
			msgContent.appendChild(newDiv);			
		}
		else
		{
			reminderHolder.innerHTML = CleanMessageText(jsonObj[0]["reminderHTML"]);	
		}
				
		if(val == 0)
		{
			icon.src = 'images/import2.png';
			chkBoxText.innerHTML = "Move to Completed Items";
		}
		else
		{
			icon.src = 'images/export1.png';
			chkBoxText.innerHTML = "Remove from Completed Items";
		}
		icon.parentNode.setAttribute("fxn",remId);
		$("#"+icon).click(function(){markReminderComp(this,'compChk');});
		if(val == 0){var tmp = remId + "_" + MyUCRID;}
		if(val == 1){var tmp = "remComp" + remId + "_" + MyUCRID;}
		
		$("#"+tmp).fadeIn("slow");
		$("#"+tmp).addClass("selectedReminder");
		$("#"+tmp).children().css({color:"white"});
	}	
}

function ShowSingleMessage()
{
	var myJSON = req.responseText;
	var func = new Function("return " + myJSON);
	var jsonObj = func();
	var msgContent = $UCR('msgContent');
	if(jsonObj != undefined && jsonObj.length > 0)
	{
		
		$("#MyUCR_pageLoading").empty().append("Loading").fadeOut(1000);
		var mType = jsonObj[0]["msgType"];
		if($UCR('baseMsg') != null){$UCR('baseMsg').style.display = 'none';}
		switch(mType)
		{
			case "r":
				ShowReminderItem(jsonObj, msgContent);
				break;
			case "rc":
				ShowCompletedReminderItem(jsonObj, msgContent);
				break;
			case "c":
				ShowCalendarItem(jsonObj, msgContent)
				break;
			case "t":
				ShowTodoItem(jsonObj, msgContent);
				break;	
			case "p":
				ShowTakenPoll(jsonObj, msgContent);
				break;
			case "m":
				ShowMilItem(jsonObj, msgContent);
				break;
		}
	}
}

function GetSingleMessage(evt)
{
	var e = evt ? evt : window.event;
    if(!e) return;
	var msgID = e.getAttribute("msgId");
	var mType = e.getAttribute("msgType");
	var MyUCRID = $UCR('hidMyUCRID').value;
	var url = 'ajax.aspx?getSingleMsg=1&MyUCRID=' + MyUCRID + "&msgID=" + msgID + "&mType=" + mType;
	ajaxCall("GET", url, "ShowSingleMessage()");
}

function CleanMessageText(remText)
{
    if(remText != undefined)
    {
        remText = remText.replace('<div>','');
        remText = remText.replace('</div>','');
        remText = remText.replace('<DIV>','');
        remText = remText.replace('</DIV>','');
		return remText;
    }
}

function markReminderComp(evt)
{    
    var e = evt ? evt : window.event;
    if(!e) return;
    var cityID = e.getAttribute("cityID");
	
	var myCPID = $UCR('hidCPID').value;
	var url = '';	
    var reminderHolder = $UCR('remindersMsgs');
	var compRemHolder = $UCR('completedReminders_Msgs');
	var countString = " items)";
	var chkBoxText = $UCR('chkBoxText');
	var chk = true;
	var icon = $UCR("compChk");
	if(icon.src.indexOf('export1.png')> -1){chk = false;}
	var msgID = e.getAttribute('fxn');
	var tmp = msgID + "_" + $UCR('hidMyUCRID').value;
	e.blur();
	if(chk == true)
    {        
        var reminder = $UCR(tmp);
        var remMsg = $UCR('msg' + tmp);
        if(reminder != undefined && remMsg != undefined)
        { 
			url = 'ajax.aspx?markReminder=1&msgID=' + msgID + '&cpid=' + myCPID;
			//insertBefore removes from the current tree and inserts into the new tree			
			compRemHolder.appendChild(reminder);
			compRemHolder.appendChild(remMsg);
			//need to rename the node
			remMsg.id = 'remMsgComp' + tmp;
			reminder.id = 'remComp' + tmp;
			$("#"+reminder).removeClass();
			reminder.childNodes[0].setAttribute("msgType","rc");
            //need to update the number of items in the completed div
            var msgCount = GetMessageCount(compRemHolder);
			if(parseInt(msgCount)==1){countString = " item)";}
            $UCR('completedReminders_Count').innerHTML = "<strong>Reminders</strong> (" + msgCount + countString;
			countString = " items)";
			// toggle the completed reminders header to allow toggling the sub menu
			if(parseInt(msgCount) > 0)
			{
				if($("#completedReminders").attr("className") == "subMenuTabHeaderReminders")
				{
					$("#completedReminders").removeClass().addClass("subMenuTabHeaderRemindersDown");					
				}
			}
			
			var msgCount = GetMessageCount(reminderHolder);
			if(parseInt(msgCount)==1){countString = " item)";}
			
			$("#completedReminders_Msgs p").removeClass();
			$("#completedReminders_Msgs p a").css({color:"#0059DF"});
			$UCR('remindersCount').innerHTML = "(" + msgCount + countString;
			ShowStatus();
			ajaxCall("GET", url, "GetNextReminder('0')");								
        }
    }
    else if(chk == false)
    {
       var reminder = $UCR('remComp'+tmp);
       var remMsg = $UCR('remMsgComp' + tmp);
	   if(reminder != undefined && remMsg != undefined)
	   {
		   url = 'ajax.aspx?markReminder=0&msgID=' + msgID + '&cpid=' + myCPID;	   
		   reminderHolder.insertBefore(remMsg, reminderHolder.firstChild);
		   reminderHolder.insertBefore(reminder, reminderHolder.firstChild);
		   remMsg.id = 'msg' + tmp;
		   reminder.id = tmp;
		   $("#"+reminder).removeClass();
		   //set the msgType attribute of the inner link
		   reminder.childNodes[0].setAttribute("msgType","r");
		   var msgCount = GetMessageCount(reminderHolder);
		   if(parseInt(msgCount)==1){countString = " item)";}
		   $UCR('remindersCount').innerHTML = "(" + msgCount + countString;
		   countString = " items)";
		   var msgCount = GetMessageCount(compRemHolder);
		   if(parseInt(msgCount)==1){countString = " item)";}
           $UCR('completedReminders_Count').innerHTML = "<strong>Reminders</strong> (" + msgCount + countString;		   
		   
		   $("#remindersMsgs p").removeClass();
		   $("#remindersMsgs p a").css({color:"#0059DF"});
		   ShowStatus();
		   ajaxCall("GET", url, "GetNextReminder('1')");		   
	   }     
    } 
	if(url.length > 0){}   
}
function ShowStatus()
{
	$("#MyUCR_pageLoading").empty().append("Updating");
	$("#MyUCR_pageLoading").css("display","none");
	$("#MyUCR_pageLoading").css("visibility","visible");
	$("#MyUCR_pageLoading").fadeIn(1000);		
}

function GetMessageCount(div)
{
    var x = div.getElementsByTagName("p");
    return x.length;
}

function GetMils()
{
    var myUCRID = $UCR('hidMyUCRID').value;
    var myCPID = $UCR('hidCPID').value;
    var url = 'ajax.aspx?act=mils&id=' + myUCRID + '&cpid=' + myCPID;      
    ajaxCall("GET", url, "ShowMils('milsMsgs')");        
}

function ShowMils(msgType)
{
    var myJSON = req.responseText;
    var func = new Function("return " + myJSON);
    var jsonObj = func();   

    var divMsgs = $UCR(msgType);  
    var selArr = new Array();
    var pgArr = location.href.split('/');
    var pageArr = pgArr[pgArr.length -1].split('.');
    var msgCount = 0;
    if(jsonObj != undefined)
        msgCount = jsonObj.length;
    var stop = msgCount;
    if(pageArr[0] == "landing" && msgType != 'milsMsgs'){stop = 5;}
    if(divMsgs != null)
    {
        ClearDiv(divMsgs);  
        var src = msgType.substring(0, (msgType.length - 4)) + "Count";
        var srcDiv = $UCR(src);        
        if(srcDiv != null)
        {
            var st = "items";
            if(msgCount == 1){st = "item";}
            srcDiv.innerHTML = " (" + msgCount + " " + st + ")";
        }
        if(msgCount > 0)
        {
            BuildMillList(jsonObj, msgType, selArr);
        }
        else
        {
            $UCR('panel1').style.display = 'none';
        }
    }
    
    myElem = $UCR('mils');
    if(myElem != null)
    {
        //myElem.onclick=toggleAccordian;
        myElem.className = 'accordionTabTitleBarDownmils';
    }
	            
    var statusDiv = $UCR('MyUCR_pageLoading');
    var statusMsg = "Personal information loading now... ";
    if(!messagingPage)
    {
//        statusDiv.innerHTML = statusMsg + "100%";
        window.statusID = setTimeout(loadingComplete,1500);
        GetSirOrient();
    }
    else{GetCompletedMessages();}
}

function BuildMillList(jsonObj, msgType, selArr)
{
    var msgCount = jsonObj.length;
    var myUCRID = $UCR('hidMyUCRID').value;
    var milShowDate = $UCR('MyUCR_hidMilShowDate').value;    
    
    for(var i = 0; i < msgCount; i++)
    {
        var tmpDate = milShowDate;
        var mName = document.createElement("p");
        var mHtml = document.createElement("span");    
        mHtml.className = "homeMsgBody";    
        
        var msgId = jsonObj[i]["SgID"];
        
		var mA = document.createElement("a");
		mA.style.cursor='pointer';			
		mA.setAttribute("msgId", msgId);
		mA.setAttribute("msgType", GetMessageType(msgType));	
		if(!messagingPage)
		{
			var destPage = GetDestPage(msgType);            
            mA.href = destPage + "&msgId=" + msgId + "&id=" + myUCRID;
		}
		else
		{
			addEvent(mA, "click", GetSingleMessage)	
		}
					
        msgName = jsonObj[i]["MyUCRTitle"];								
        mA.innerHTML = msgName;
        mName.appendChild(mA);
        $UCR('milsMsgs').appendChild(mName);
        if(Date.parse(jsonObj[i]["dateSubmitted"]) >= Date.parse(milShowDate))        
	        tmpDate = jsonObj[i]["dateSubmitted"];
	    else
	    	tmpDate = milShowDate;
	    	
        mHtml.innerHTML = "Sent on " + tmpDate;    
        $UCR('milsMsgs').appendChild(mHtml);        
    }
}

/*Pre-Orientation Status */
function CheckPreOrientation()
{
    //checks to see if the student needs to fill out the family contact form
    //then checks to see if their form is complete
    var myCPID = $UCR('hidCPID').value;
    var url = 'ajax.aspx?preOrient=' + myCPID;
    ajaxCall("GET",url,"ShowPreOrientationStatus()");
}

function ShowPreOrientationStatus()
{
    var myJSON = req.responseText;
    if(myJSON != "")
    {
        var func = new Function("return " + myJSON);
        var jsonObj = func();
        if(jsonObj.length > 0)
        {
            if(parseInt(jsonObj[0]["response"]) == 1 && parseInt(jsonObj[0]["needPreOrient"]) == 1)
            {
                var preOrientComplete = parseInt(jsonObj[0]["preOrientStatus"]);
                var mandatory = parseInt(jsonObj[0]["mandatoryFlag"]);
                
                // add in 2009 by Alvin - PreOrientation is mandatory
                mandatory = 1;
                
                
                if(preOrientComplete == 1){ShowCompletePreOrient();}
                if(preOrientComplete == 0){ShowIncompletePreOrient(mandatory);}
            }
        }
    }
}

function ShowCompletePreOrient()
{
    if(messagingPage)
    {
        var count = $("#completedTodos_Msgs p").length;
        var p = document.createElement("p");
        $(p).css({cursor:"pointer"}).attr("id","famFormLink").append("Thanks for completing your Pre-Orientation");
        $(p).click(function(){showPreOrientMessage($(this),'2');});
        var sp = document.createElement("span");
        $(sp).addClass("homeMsgBody").append("You've completed your Pre-Orient...");
        $("#completedTodos_Msgs").append($(p)).append($(sp));    
        
        var st = "items";
        if(count + 1 == 1){st = "item";}
        $("#completedTodos_Count").empty().html("<strong>Completed To-Dos</strong> (" + (count + 1) + " " + st + ")");		
        $("#completedTodos").addClass("subMenuTabHeaderRemindersDown");
    }
}

function ShowIncompletePreOrient(mandatory)
{
    var p = document.createElement("p");
    var a = document.createElement("a");
    if(mandatory == 0)
    {
        var msgHeader = "Take the Pre-Orientation web tutorial!";        
    }
    
    if(mandatory == 1)
    {
        var msgHeader = "Take the Mandatory Pre-Orientation web tutorial!";
    }
    $(a).css({cursor:"pointer"}).attr("id","orientLink").append(msgHeader);
    if(!messagingPage){$(a).css({textDecoration:"underline"});}
    $(p).append($(a)).click(function(){showPreOrientMessage($(this),'1', mandatory);});
    var sp = document.createElement("span");
    $(sp).addClass("homeMsgBody").append("Take the Pre-Orientation...");
    var flag = $("#todosMsgs p")[0];
    if($(flag).html() == "No messages at this time")
    {
        $("#todosMsgs").empty().append($(p)).append($(sp));
        var count = 1;        
    }
    else
    {
       $("#todosMsgs").append($(p)).append($(sp));
       var count = $("#todosMsgs p").length;
    }
    $("#todosCount").empty().append("(" + count + " items)");
}

function showPreOrientMessage(evt, val, mandatory)
{
	var sp = document.createElement("span");
    $(sp).append("To-do: ");
    var h3 = document.createElement("h3");
    $(h3).attr("id", "h3Reminder");
    if(val == "1")
    {
        var poLink = "http://preorientation.ucr.edu";
        // blocked in 2009 by Alvin. PreOrientation is mandatory
//        if(mandatory == 0)
//        {
//            var msg1 = "Take the Pre-Orientation web tutorial!";
//            var msg2 = "<p>You will need to take the <a href=\"" + poLink + "\" target=\"_blank\" />Pre-Orientation web tutorial</a> to learn how to select and register for classes BEFORE you get to orientation!</p>";
//            msg2 += "<p>When registration begins during Orientation, you'll want to get the classes you need right?, Don't waste time by not understanding how to register for classes. Learn before you get to Orientation.</p>";
//            msg2 += "<p>If you don't take the tutorial, you'll probably end up sitting next to someone who did, and they'll be done registering for classes before you even start...not good!</p>";
//            msg2 += "<p><a href=\"" + poLink + "\" target=\"_blank\" />Log on NOW</a> and take the Pre-Orientation tutorial. You'll be glad you did! Really.</p>";
//        }
        
        if(mandatory == 1)
        {
            var msg1 = "Take the Mandatory Pre-Orientation web tutorial!";
            var msg2= "<p>You will need to take the <a href=\"" + poLink + "\" target=\"_blank\" />MANDATORY Pre-Orientation web tutorial</a> to learn how to select and register for classes BEFORE you get to orientation!</p>";
            msg2 += "<p>This Pre-Orientation web tutorial is MANDATORY so <a href=\"" + poLink + "\" target=\"_blank\" />log on</a> now and start learning today.</p>";
            msg2 += "<p>You will use your UCR NetID as your username and your PERMPIN as your initial password(if you already created a password, use it to login). You will find these identifiers at your MyUCR account in the \"MyUCR IDs\" tab. Go to UCR Webmail and log in.</p>";
            msg2 += "<p><a href=\"" + poLink + "\" target=\"_blank\" />Log on NOW</a> and take the Pre-Orientation tutorial. You'll be glad you did! Really.</p>";
        }
    }
    else if(val == "2")
    {
        var msg1 = "Thanks for completing your Pre-Orientation";
        var msg2 = "Thanks for completing your Pre-Orientation.";
    }
    if(messagingPage)
    {
// comment this out so winter students don't see it
        $("#MyUCR_cphMain_baseMsg").empty();
        $("#msgContent").empty().append($(h3).append($(sp)).append(msg1));
        var p = document.createElement("p");
        $(p).attr("id","reminderText");
        $("#msgContent").append($(p).append(msg2));    
    }
    
    if(!messagingPage)
    {   
// comment this out so winter students don't see it
        var p = document.createElement("p");
        $(p).attr("id","reminderText");
        $("#homeMsgs").empty().append($(h3).append($(sp)).append(msg1)).append($(p).append(msg2));        
    }
}

/*Family Contact Form Checking*/
function CheckFamilyForm()
{
    //checks to see if the student needs to fill out the family contact form
    //then checks to see if their form is complete
    var myCPID = $UCR('hidCPID').value;
    var url = 'ajax.aspx?familyFormComplete=' + myCPID;
    ajaxCall("GET",url,"ShowFamilyFormCheckResults()");
}
function ShowFamilyFormCheckResults()
{
	var myJSON = req.responseText;
	var func = new Function("return " + myJSON);
	var jsonObj = func();
	if(jsonObj.length > 0)
	{
		//if familyFormReq = 0, no need to go further
		var familyFormReq = parseInt(jsonObj[0]["familyFormReq"]);
		//if familyFormComplete = 0, then need to write message to student to have them complete
		var familyFormComplete = parseInt(jsonObj[0]["familyFormComplete"]);
		if(familyFormReq > 0 && familyFormComplete == 0)
		{
			//add the text to the to-do's tab
			GetFamilyContactIncomplete();
		}
		
		if(familyFormReq > 0 && familyFormComplete == 1)
		{
			//add the text to the completed to-do's
			GetFamilyContactComplete();
		}
	}
	
	// blocked by Alvin on 8/11/2009
	//CheckPreOrientation();
	
}

function GetFamilyContactIncomplete()
{
	var p = document.createElement("p");
    var a = document.createElement("a");
    $(a).css({cursor:"pointer"}).attr("id","orientLink").append("Informed parents are happy parents!");
    if(!messagingPage){$(a).css({textDecoration:"underline"});}
    $(p).append($(a)).click(function(){showFamilyContactFormMessage($(this),'1');});
    var sp = document.createElement("span");
    $(sp).addClass("homeMsgBody").append("Keep your parents in the loop ...!");
    var flag = $("#todosMsgs p")[0];
    if($(flag).html() == "No messages at this time")
    {
        $("#todosMsgs").empty().append($(p)).append($(sp));
        var count = 1;        
    }
    else
    {
       $("#todosMsgs").append($(p)).append($(sp));
       var count = $("#todosMsgs p").length;
    }
    $("#todosCount").empty().append("(" + count + " items)");
}

function GetFamilyContactComplete()
{
	if(messagingPage)
    {
        var count = $("#completedTodos_Msgs p").length;
        var p = document.createElement("p");
        $(p).css({cursor:"pointer"}).attr("id","famFormLink").append("Thanks for completing your Family Contact Information form");
        $(p).click(function(){showFamilyContactFormMessage($(this),'2');});
        var sp = document.createElement("span");
        $(sp).addClass("homeMsgBody").append("Keep your parents in the loop ...!");
        $("#completedTodos_Msgs").append($(p)).append($(sp));    
        
        var st = "items";
        if(count + 1 == 1){st = "item";}
        $("#completedTodos_Count").empty().html("<strong>Completed To-Dos</strong> (" + (count + 1) + " " + st + ")");		
        $("#completedTodos").addClass("subMenuTabHeaderRemindersDown");
    }
}

function showFamilyContactFormMessage(evt, val)
{
	var sp = document.createElement("span");
    $(sp).append("To-do: ");
    var h3 = document.createElement("h3");
    $(h3).attr("id", "h3Reminder");
    if(val == "1")
    {
        var msg1 = "Complete your Family Contact Information form";
        var msg2 = "Keep your parents in the loop and ask them to fill in the Parent Contact Form. When they do, they'll get the latest news and information about UCR and learn about upcoming events. A happy parent is an informed parent!";
        msg2 += " Go to <a href=\"familycontacts.aspx\"> My UCR - Family Contact Information </a> and do it today!";
    }
    else if(val == "2")
    {
        var msg1 = "Thanks for completing your Family Contact Information form!";
        var msg2 = "Thanks for completing your Family Contact Information form.";
    }
    if(messagingPage)
    {
        $("#MyUCR_cphMain_baseMsg").empty();
        $("#msgContent").empty().append($(h3).append($(sp)).append(msg1));
        var p = document.createElement("p");
        $(p).attr("id","reminderText");
        $("#msgContent").append($(p).append(msg2));    
    }
    
    if(!messagingPage)
    {   
        var p = document.createElement("p");
        $(p).attr("id","reminderText");
        $("#homeMsgs").empty().append($(h3).append($(sp)).append(msg1)).append($(p).append(msg2));        
    }
}

/*SIR/Orientation messaging*/
function GetSirOrient()
{
    //alert("SLROrient2");
    var myCPID = $UCR('hidCPID').value;
    var url = 'ajax.aspx?SLROrientation=1&CPID=' + myCPID;
    ajaxCall("GET",url,"ShowSirOrient('todosMsgs')");
}

function ShowSirOrient(msgType)
{
    var myJSON = req.responseText;
    var func = new Function("return " + myJSON);
    var jsonObj = func();
    if(jsonObj.length > 0)
    {
        //var cutDate = new Date(2007, 9, 30);
	    //var cutDate = new Date(2007, 12, 14);
	    //cut date is when the message is to stop showing
	    var cutDate = new Date(2009, 9, 25);
        var today = new Date();
        if(today <= cutDate)
        {
            if(jsonObj[1] != undefined ||jsonObj[1] != null)
            {   
                if(jsonObj[1]["OrientationStatus"].toUpperCase() == "0"){GetOrientationTentative();}
                else{GetOrientationComplete();}         
            }
            if(jsonObj[0] != undefined || jsonObj[0] != null)
            {
                if(jsonObj[0]["SLRStatus"] && jsonObj[0]["SLRStatus"] != "0")
                {
                    if(jsonObj[0]["SLRStatus"].toUpperCase() != "COMPLETE"){GetSLRTentative();}
                    else{GetSLRComplete();}
                }
            }
        }
    }
    
    //hack in the call to check the family form here
    CheckFamilyForm();    
}

function showOrientationMessage(evt, val)
{   
    var sp = document.createElement("span");
    $(sp).append("To-do: ");
    var h3 = document.createElement("h3");
    $(h3).attr("id", "h3Reminder");
    if(val == "1")
    {
        var msg1 = "Register for Bear Facts Highlander Orientation beginning March 1!";
        var msg2 = "Now that you're a UC Riverside student, you'll need to register for Mandatory Orientation (called  \"Bear Facts\". . . ";
        msg2 += "Our mascot is Scotty the Bear. . . get it?!) to get a head start at UC Riverside and to register for classes!";
        msg2 += " Register online <a href=\"http://orientation.ucr.edu\"> http://orientation.ucr.edu </a> beginning March 1, 2009. ";
        msg2 += "At \"Bear Facts Highlander Orientation\" you'll learn about life at UC Riverside, get to meet your professors, and register for classes. ";
        msg2 += "You can even bring your parents if you want!  Don't forget to register (it's mandatory). . . then enjoy your summer!";
    }
    else if(val == "2")
    {
        var msg1 = "Thanks for registering for Bear Facts Highlander Orientation!";
        var msg2 = "Before orientation begins you will receive confirmation of your registration in the mail. Be watching for it because it will ";
        msg2 += "provide details about your orientation session and its location. If you have any questions, please email orientation@ucr.edu";
    }
    if(messagingPage)
    {
        $("#MyUCR_cphMain_baseMsg").empty();
        $("#msgContent").empty().append($(h3).append($(sp)).append(msg1));
        var p = document.createElement("p");
        $(p).attr("id","reminderText");
        $("#msgContent").append($(p).append(msg2));    
    }
    
    if(!messagingPage)
    {   
        var p = document.createElement("p");
        $(p).attr("id","reminderText");
        $("#homeMsgs").empty().append($(h3).append($(sp)).append(msg1)).append($(p).append(msg2));        
    }
}

function showSLRMessage(evt, val)
{   
    var sp = document.createElement("span");
    $(sp).append("To-do: ");
    var h3 = document.createElement("h3");
    $(h3).attr("id", "h3Reminder");
    if(val == "1")
    {
        //var msg1 = "Submit your Statement of Legal Residence by August 10th!";
        //var msg1 = "Submit your Statement of Legal Residence by June 26, 2009!";
        var msg1 = "Submit your Statement of Legal Residence by November 15, 2009!";
        var msg2 = "Make sure you're assessed the appropriate fees based on your residency status. ";
        msg2 += "Submit your Statement of Legal Residence for Tuition Purposes. You will use your UCR SID and date of birth to access ";
        msg2 += "the <a href=\"http://www.statementoflegalresidence.ucr.edu\" >";
        msg2 += "Statement of Legal Residence </a> page to complete and submit the form. You will find your UCR SID under \"My UCR ID's\" tab.";
    }
    else if(val == "2")
    {
        var msg1 = "Thanks for submitting your Statement of Legal Residence!";
        var msg2 = "&nbsp;";
    }
    if(messagingPage)
    {

        $("#MyUCR_cphMain_baseMsg").empty();
        $("#msgContent").empty().append($(h3).append($(sp)).append(msg1));
        var p = document.createElement("p");
        $(p).attr("id","reminderText");
        $("#msgContent").append($(p).append(msg2));    
    }
    if(!messagingPage)
    {

       var p = document.createElement("p");
       $(p).attr("id","reminderText");
       $("#homeMsgs").empty().append($(h3).append($(sp)).append(msg1)).append($(p).append(msg2));
    }
}

function GetOrientationTentative()
{
    var p = document.createElement("p");
    var a = document.createElement("a");
    $(a).css({cursor:"pointer"}).attr("id","orientLink").append("Register for Bear Facts Highlander Orientation by June 1!");
    if(!messagingPage){$(a).css({textDecoration:"underline"});}
    $(p).append($(a)).click(function(){showOrientationMessage($(this),'1');});
    var sp = document.createElement("span");
    $(sp).addClass("homeMsgBody").append("Now that you're a UC Riverside student,...");
    var flag = $("#todosMsgs p")[0];
    if($(flag).html() == "No messages at this time")
    {
        $("#todosMsgs").empty().append($(p)).append($(sp));
        var count = 1;        
    }
    else
    {
       $("#todosMsgs").append($(p)).append($(sp));
       var count = $("#todosMsgs p").length;
    }
    $("#todosCount").empty().append("(" + count + " items)");
    
}
function GetOrientationComplete()
{
    if(messagingPage)
    {
        var count = $("#completedTodos_Msgs p").length;
        var p = document.createElement("p");
        $(p).css({cursor:"pointer"}).attr("id","orientLink").append("Thanks for registering for Bear Facts Highlander Orientation!");
        $(p).click(function(){showOrientationMessage($(this),'2');});
        var sp = document.createElement("span");
        $(sp).addClass("homeMsgBody").append("Before orientation begins you will receive confirmation of your registration...");    
        $("#completedTodos_Msgs").append($(p)).append($(sp));    
        
        var st = "items";
        if(count + 1 == 1){st = "item";}
        $("#completedTodos_Count").empty().html("<strong>Completed To-Dos</strong> (" + (count + 1) + " " + st + ")");		
        $("#completedTodos").addClass("subMenuTabHeaderRemindersDown");
    }
}

function GetSLRTentative()
{
    var p = document.createElement("p");
    var a = document.createElement("a");
    //$(a).css({cursor:"pointer"}).attr("id","orientLink").append("Submit your Statement of Legal Residence!");
	//$(a).css({cursor:"pointer"}).attr("id","orientLink").append("Submit your Statement of Legal Residence by June 26, 2009!");
    $(a).css({ cursor: "pointer" }).attr("id", "orientLink").append("Submit your Statement of Legal Residence by November 15, 2009!");

    if(!messagingPage){$(a).css({textDecoration:"underline"});}
    $(p).append($(a)).click(function(){showSLRMessage($(this),'1');});
    var sp = document.createElement("span");
    $(sp).addClass("homeMsgBody").append("Make sure you're accessed the appropr...");
    var flag = $("#todosMsgs p")[0];
    if($(flag).html() == "No messages at this time")
    {
        $("#todosMsgs").empty().append($(p)).append($(sp));
        var count = 1;
    }
    else
    {
       $("#todosMsgs").append($(p)).append($(sp));
       var count = $("#todosMsgs p").length;
    }
    $("#todosCount").empty().append("(" + count + " items)");
}

function GetSLRComplete()
{
    if(messagingPage)
    {
        var count = $("#completedTodos_Msgs p").length;
        var p = document.createElement("p");
        var a = document.createElement("a");
        $(a).css({cursor:"pointer"}).attr("id","orientLink").append("Thanks for submitting your Statement of Legal Residence!");
        $(p).append($(a)).click(function(){showSLRMessage($(this),'2');});    
        $("#completedTodos_Msgs").append($(p));  
        
        var st = "items";
        if(count + 1 == 1){st = "item";}
        $("#completedTodos_Count").empty().html("<strong>Completed To-Dos</strong> (" + (count + 1) + " " + st + ")");		
        $("#completedTodos").addClass("subMenuTabHeaderRemindersDown");
    }
}

function ShowMsg(msgType)
{
    //called by the following functions to display the messaging based on the message type.
    //GetHomeMessages, GetReminders, GetTodos, GetCalendars    
    var myJSON = req.responseText;
    var func = new Function("return " + myJSON);
    var jsonObj = func();   
    var statusDiv = $UCR('MyUCR_pageLoading');
    var statusMsg = "Personal information loading now... ";
    var divMsgs = $UCR(msgType);  
    var selArr = new Array();
    var pgArr = location.href.split('/');
    var pageArr = pgArr[pgArr.length -1].split('.');
    var msgCount = 0;
    if(jsonObj != undefined)
        msgCount = jsonObj.length;
    var stop = msgCount;
    if(pageArr[0] == "landing" && msgType != 'milsMsgs'){stop = 5;}
    if(divMsgs != null)
    {
        if(msgType != "homeMsgs")
            ClearDiv(divMsgs);  
            
        var src = msgType.substring(0, (msgType.length - 4)) + "Count";
        var srcDiv = $UCR(src);        
        if(srcDiv != null)
        {
            var st = "items";
            if(msgCount == 1){st = "item";}
            srcDiv.innerHTML = " (" + msgCount + " " + st + ")";
        }
        if(msgCount > 0)
        {
            if(msgType != 'milsMsgs')
            {
                for(i = 0; i < msgCount; i++)
                {
                    var msgId = jsonObj[i]["msgId"];
                    var msgName = jsonObj[i]["msgName"];
                    var msgHtml = jsonObj[i]["msgHtml"];
                    var msgText = jsonObj[i]["msgText"];
                    var linkMe = false;
                    if(msgType != "homeMsgs"){linkMe = true;}
                    BuildElement(divMsgs, msgType, msgId, msgName, msgText, msgHtml, linkMe, selArr);
                }
             }
             else{BuildMillList(jsonObj, msgType, selArr);}
        }
        else
        {
            if(msgType == 'milsMsgs')
            {
                $UCR('panel1').style.display = 'none';
            }            
            BuildElement(divMsgs, msgType, 0, "No messages at this time","", "", false, selArr);
        }
        
        req = false;    
        var myElem;
	    switch(msgType)
	    {
	        case "homeMsgs":
	            GetReminders();	            
	            break;
	        case "remindersMsgs":
	            myElem = $UCR('reminders');
	            myElem.className = 'accordionTabTitleBarDownreminders';
	            GetTodos();
	            break;
	        case "todosMsgs":	       
	            myElem = $UCR('todos');
	            myElem.className = 'accordionTabTitleBarDowntodos';
	            GetCalendars();
	            break;
	        case "sirOrient":
	            myElem = $UCR('todos');
	            GetCalendars();
	            //hack in the call to check the family form here
	            CheckFamilyForm();    
	            break;
	        case "calendarsMsgs":
	            myElem = $UCR('calendars');
	            myElem.className = 'accordionTabTitleBarDowncalendars';
	            GetMils();				
	            break;            
	        //case "milsMsgs":
	            //GetSpotlights();
	            //if(messagingPage) //global var set on 195 function GetHomeMessages(), if true, show all completed messaging;
                //    GetCompletedMessages();
	           // break;
	    }	 
	}
}

//builds the elements for each section
function BuildElement(divName, msgType, msgId, msgName, msgText, msgHtml, hasLink, selArr)
{   
    if(msgHtml.length > 0)
    { 
        var myUCRID = $UCR('hidMyUCRID').value;
        var mName = document.createElement("p");
        var mHtml = document.createElement("span");    
        
        //this may be a rolling sir message
        if(msgId == "sirMsg")
        {
            msgId = "0";
            msgType = "sirMsg";
        }
        
        mName.id = msgId + "_" + myUCRID;
        mHtml.id = "msg" + msgId + "_" + myUCRID;
        mHtml.className = "homeMsgBody";    
        if(hasLink)
        {   //if sel == 0 then this is the landing page and we need to create the link to the messaging page
            //otherwise, create an Ajax Call to show the message.
            var mA = document.createElement("a");
		    if(!messagingPage)
		    {
			    var destPage = GetDestPage(msgType); 
        	    mA.href = destPage + "&msgId=" + msgId + "&id=" + myUCRID;	
		    }
		    else
		    {
			    mA.style.cursor='pointer';			
			    mA.setAttribute("msgId", msgId);
			    mA.setAttribute("msgType", GetMessageType(msgType));	
			    addEvent(mA, "click", GetSingleMessage)			
		    }						
            mA.innerHTML = msgName;
            mName.appendChild(mA);
        }
        else
        {
            if(msgType != "homeMsgs"){ mName.style.fontWeight = 'bold'; mName.appendChild(document.createTextNode(msgName));}
        }        
        var msgPage = GetDestPage(msgType);
        if(msgType == "homeMsgs" && GetDestPage(msgType) == "landing.aspx")
        {       
           if(msgHtml.length > 0) {$("div.hcMsg").hide(); var tP = document.createElement("span"); $(tP).html(msgHtml); mHtml.appendChild(tP);}
        }
        else{mHtml.innerHTML = TruncateWithMore(msgType, msgText, msgId);}
        //if the URL has the message id in it, change the class of the p tag
	    divName.appendChild(mName);divName.appendChild(mHtml);SelectDiv(msgId, myUCRID);
    }	    
}

function SelectDiv(msgId, myUCRID)
{
	var args = location.search.split('&');
		for(var i=0;i<args.length;i++)
		{
			if(args[i].indexOf('msgId')> -1)
			{
				var tmp = args[i].split('=');
				var rId = tmp[1];
			}
			if(args[i].indexOf('id')> -1)
			{
				var tmp = args[i].split('=');
				var myUCRID = tmp[1];
			}
		}
		var mID = rId + "_" + myUCRID
		$("#"+mID).addClass("selectedReminder");
		$("#"+mID).children().css({color:"white"})
	
}
function TruncateWithMore(msgType, msg, msgId)
{
    if(msg!= undefined && msg.length > 40)
    {
        return msg.substring(0,37)+"...";
        var retVal = "";
        var myUCRID = $UCR('hidMyUCRID').value;
        var msgArr = msg.split(' ');           
        for(i = 0; i< 7; i++){retVal += msgArr[i];retVal += " ";}        
        return retVal;
    }    
    else{return msg;}
}

function GetMessageType(msgType)
{
    //returns the 1 char letter code used to distinguish the message type
    switch (msgType)
    {
        case "homeMsgs":
            return "h";break;
        case "remindersMsgs":
            return "r";break;
        case "todosMsgs":
            return "t";break;
        case "calendarsMsgs":
            return "c";break;
        case "milsMsgs":
            return "m";break;            
        case "sirMsg":
            return "s";break;
    }
}

function GetDestPage(msgType)
{
    //returns the destination page based on the messaging type
    var destPage;
    switch(msgType)
    {
        case "homeMsgs":
            destPage = "landing.aspx";break;
        case "remindersMsgs":
            destPage = "messaging.aspx?t=r";break;
        case "todosMsgs":
            destPage = "messaging.aspx?t=t";break;
        case "calendarsMsgs":
            destPage = "messaging.aspx?t=c";break;
        case "spotlights":
            destPage = "spotlights.aspx";break;
        case "milsMsgs":
            destPage = "messaging.aspx?t=m";break;  
        case "sirMsg":
            destPage = "messaging.aspx?t=sir";break;      
    }
    return destPage;
}

function TruncateMsg(msg)
{   //truncates the message
    if(msg.length > 40){return msg.substring(0,37) + "...";}
    else{return msg;}
}

function hideSpotlight(obj){obj.style.display = 'none';}

function getArgs()
{
//gets the arguments from the query string
    var args = new Array();
    var q = location.search.substring(1);
    var pairs = q.split("&");
    for(var i=0; i< pairs.length; i++)
    {
        var pos = pairs[i].indexOf('=');
        if(pos == -1) continue;
        var argname = i;
        var value = pairs[i].substring(pos+1);
        value = decodeURIComponent(value);
        args[argname] = value;
    }
    return args;
}

function IsMessageSelected()
{
    //if called on by ajax, query string will have the message id. this way we know the message was clicked on.
    var selArr = new Array();        
    var args;    
    args = getArgs();    
    if(args.length > 0){selArr[0] = args[0];selArr[1] = args[1];selArr[2] = args[2];}
    return selArr;    
}

function TransformMsgArry(msgArr)
{
    //transforms the xmlResponse array to a standard array delimted by ~
    var newArr = new Array();
    for(var i=0; i<msgArr.length; i++)
    {
        var newItem = msgArr.item(i).getElementsByTagName("msgId")[0].firstChild.data + '~';
        newItem += msgArr.item(i).getElementsByTagName("msgName")[0].firstChild.data + '~';
        newItem += TruncateMsg(msgArr.item(i).getElementsByTagName("msgText")[0].firstChild.data);
        newArr.push(newItem);
    }
    return newArr;
}

function ReorderMsgArray(msgArr, selArr)
{
    //selects the message the user clicked on to make sure it is in the top of the list.
    var newArr = new Array();
    for(var i=0; i<msgArr.length; i++)
    {
        var msgId = msgArr.item(i).getElementsByTagName("msgId")[0].firstChild.data;
        if(msgId == selArr[1])
        {
            //found the item, put it first in the new array
            var newItem = msgId + '~';
            newItem += msgArr.item(i).getElementsByTagName("msgName")[0].firstChild.data + '~';
            newItem += TruncateMsg(msgArr.item(i).getElementsByTagName("msgText")[0].firstChild.data);
            newArr[0] = newItem;
        }
    }
    for(var i=0; i<msgArr.length; i++)
    {
        var msgId = msgArr.item(i).getElementsByTagName("msgId")[0].firstChild.data;
        if(msgId != selArr[1])
        {
            var newItem = msgId + '~';
            newItem += msgArr.item(i).getElementsByTagName("msgName")[0].firstChild.data + '~';
            newItem += TruncateMsg(msgArr.item(i).getElementsByTagName("msgText")[0].firstChild.data);
            newArr.push(newItem);
        }
    }
    return newArr;
}

function AddMsgCount(msg, rCount)
{
    //returns the nubmer of messages for each type
    var src = msg.substring(0, (msg.length - 4));
    var srcDiv = $UCR(src);
    if(srcDiv != null)
    {
        var st = "items";
        if(rCount == 1){st = "item";}
        srcDiv.innerHTML = srcDiv.innerHTML + " (" + rCount + " " + st + ")";
    }
}

function GetMessage(msgType, msgId)
{
    //gets the specific message based on the msgID, the message type, and the user id
    var myUCRID = $UCR('hidMyUCRID').value;
    var url = 'ajax.aspx?act=singleMsg&id=' + myUCRID + '&mType=' + msgType + '&mId=' + msgId;
    ajaxCall("GET", url, "ShowSingleMsg()");
}

function ShowSingleMsg()
{
    //ajax.cs returns a JSON object. Needed to preserve the HTML formatting of the message
    var myJSON = req.responseText;
    var func = new Function("return " + myJSON);
    var jsonObj = func();
    var rCount = jsonObj[0]["recordcount"];    
    var msgType = jsonObj[0]["msgType"];
    var divMsgs = $UCR('msgContent');    
    if(divMsgs != null)
    {    
        ClearDiv(divMsgs);
        if(parseInt(rCount) > 0)
        {                
            switch (msgType)
            {
                case "t":
                    ShowTodoItem(jsonObj, divMsgs);
                    break;                
                case "r":
                    ShowReminderItem(jsonObj, divMsgs);
                    break;                
                case "c":
                    ShowCalendarItem(jsonObj, divMsgs);
                    break;                
                case "m":
                    ShowMillItem(jsonObj, divMsgs);
                    break;
            }       
        }
    }
}

function ShowCalendarItem(jsonObj, divMsgs)
{
    /* elements coming back in the JSON Object
    "recordcount", "msgType", "msgId", "msgName", "msgHtml", "msgEventDate"
    */
    var msgId = jsonObj[0]["msgId"];
    var msgName = jsonObj[0]["msgName"];
    var msgHtml = jsonObj[0]["msgHtml"];
    var msgDate = jsonObj[0]["msgEventDate"];
    //build up the DOM element
    divMsgs.innerHTML = '';
    var mName = document.createElement("h3");
    var mNameSpan = document.createElement("span");
    mNameSpan.appendChild(document.createTextNode("Calendar Item: "));
    mName.appendChild(mNameSpan);
    mName.appendChild(document.createTextNode(msgName));
    $UCR(divMsgs).appendChild(mName);    

    var mHtml = document.createElement("p");
    var mHtmlAbbr = document.createElement("abbr");
    var mHtmlMsgHolder = document.createElement("span");
    mHtmlMsgHolder.innerHTML = msgHtml;
    
    mHtmlAbbr.appendChild(document.createTextNode("Description "));
    mHtml.appendChild(mHtmlAbbr);
    mHtml.appendChild(mHtmlMsgHolder);
    $UCR(divMsgs).appendChild(mHtml);

    var mDate = document.createElement("p");
    var mDateAbbr = document.createElement("abbr");
    mDateAbbr.appendChild(document.createTextNode("Date "));
    mDate.appendChild(mDateAbbr);
    mDate.appendChild(document.createTextNode(msgDate));
    $UCR(divMsgs).appendChild(mDate);       

}

function ShowCompletedReminderItem(jsonObj, divMsgs)
{           
    /* elements coming back in the JSON Object
    "recordcount", "msgType", "msgId", "msgName", "msgHtml"
    */
    var msgId = jsonObj[0]["reminderID"];
    var msgName = jsonObj[0]["reminderName"];
    var msgHtml = jsonObj[0]["reminderHTML"];
    //build up the DOM element
    divMsgs.innerHTML = '';
    
	var h = document.createElement("h3");
	h.id = "h3Reminder";
    var hSpan = document.createElement("span");    
    hSpan.appendChild(document.createTextNode("Reminder: "));
    h.appendChild(hSpan);
	h.appendChild(document.createTextNode(msgName));
	$UCR(divMsgs).appendChild(h);
	
	var a = document.createElement("a");
	a.href = "#";
	a.style.textDecoration = 'none';
	a.setAttribute("fxn", msgId);
	addEvent(a, "click", markReminderComp);
	
	var icon = document.createElement("img");
	icon.style.marginTop = "5px";
	icon.style.border = 'none';
	icon.id = "compChk";
	icon.src = "images/export1.png";
	a.appendChild(icon);
	
	var sp = document.createElement("span");
	sp.id = "chkBoxText";
	sp.className = "reminderChkBox";
	sp.appendChild(document.createTextNode("Remove from Completed Items"));
	a.appendChild(sp);
	$UCR(divMsgs).appendChild(a);
	
	var newElem = "p";
	if(msgHtml.indexOf("<p>") > -1 || msgHtml.indexOf("<P>") > -1){newElem = "div";}
    var mHtml = document.createElement(newElem);
	mHtml.id = "reminderText"; 
	mHtml.innerHTML = CleanMessageText(msgHtml); 
	 
    $UCR(divMsgs).appendChild(mHtml);  
}

function ShowMilItem(jsonObj, divMsgs)
{
	var msgId = jsonObj[0]["msgId"];
	var msgName = jsonObj[0]["msgName"];
	var msgHtml = jsonObj[0]["msgHtml"];
	var msgDate = jsonObj[0]["msgDate"];
	var msgHolder = $UCR(divMsgs);
	msgHolder.innerHTML = '';
	var hid = document.createElement("input");
	hid.type = 'hidden';hid.id = 'hidMilID';hid.value = msgId;
	msgHolder.appendChild(hid);
	
	var h = document.createElement("h3");
	var sp = document.createElement("span");
	sp.appendChild(document.createTextNode(msgName));
	h.appendChild(sp);
	msgHolder.appendChild(h);
	
	var p = document.createElement("p");
	var st = document.createElement("strong");
	st.appendChild(document.createTextNode(msgDate));
	p.appendChild(st);
	msgHolder.appendChild(p);
	
	p = document.createElement("p");
	p.appendChild(document.createTextNode(msgHtml));
	msgHolder.appendChild(p);
	
	p = document.createElement("p");
	var ta = document.createElement("textarea");
	ta.id = "txtMilResponse";
	ta.cols = 45;ta.rows = 5;
	addEvent(ta, "keypress", milResponseCharCount);
	p.appendChild(ta);
	msgHolder.appendChild(p);
	
	p = document.createElement("p");
	sp = document.createElement("span");
	sp.id = "milResponseErr"; sp.className = "charCount";
	p.appendChild(sp);
	msgHolder.appendChild(p);
	
	p = document.createElement("p");
	var btn = document.createElement("input");
	btn.type = "button"; btn.value="Send Response";btn.id = "btnSendResponse";
	addEvent(btn, "click", sendMilResponse);
	p.appendChild(btn);
	msgHolder.appendChild(p);
	
	
}
function ShowReminderItem(jsonObj, divMsgs)
{           
    /* elements coming back in the JSON Object
    "recordcount", "msgType", "msgId", "msgName", "msgHtml"
    */
    var msgId = jsonObj[0]["reminderID"];
    var msgName = jsonObj[0]["reminderName"];
    var msgHtml = jsonObj[0]["reminderHTML"];
    //build up the DOM element
    divMsgs.innerHTML = '';
    
	var h = document.createElement("h3");
	h.id = "h3Reminder";
    var hSpan = document.createElement("span");    
    hSpan.appendChild(document.createTextNode("Reminder: "));
    h.appendChild(hSpan);
	h.appendChild(document.createTextNode(msgName));
	$UCR(divMsgs).appendChild(h);
	
	var a = document.createElement("a");
	a.href = "#";
	a.style.textDecoration = 'none';
	a.setAttribute("fxn", msgId);
	addEvent(a, "click", markReminderComp);
	
	var icon = document.createElement("img");
	icon.style.marginTop = "5px";
	icon.style.border = 'none';
	icon.id = "compChk";
	icon.src = "images/import2.png";
	a.appendChild(icon);
	
	var sp = document.createElement("span");
	sp.id = "chkBoxText";
	sp.className = "reminderChkBox";
	sp.appendChild(document.createTextNode("Move to Completed Items"));
	a.appendChild(sp);
	$UCR(divMsgs).appendChild(a);
	
	var newElem = "p";
	if(msgHtml.indexOf("<p>") > -1 || msgHtml.indexOf("<P>") > -1){newElem = "div";}
    if(msgHtml.indexOf("<ul>") > -1 || msgHtml.indexOf("<UL>") > -1){newElem = "div";} 
    var mHtml = document.createElement(newElem);

	mHtml.id = "reminderText"; 
	mHtml.innerHTML = msgHtml;	 
    $UCR(divMsgs).appendChild(mHtml);  
}

function ShowTakenPoll(jsonObj, msgContent)
{	    
    msgContent.innerHTML = '';
	if(jsonObj.length > 0)
    {
        var totalResponses = 0;
		$("#"+msgContent).empty();
		var h = document.createElement("h3");
		h.id = "h3Reminder";    	
		h.appendChild(document.createTextNode("Poll"));
		msgContent.appendChild(h);
		var div = document.createElement("div");
		var p = document.createElement("p");
		p.innerHTML = jsonObj[0]["pollText"];
		div.appendChild(p);
		p = document.createElement("p");
		var resultDate = new Date(jsonObj[1]["resultDate"]);
		p.innerHTML = "You responded on <strong>" + resultDate.toLocaleDateString() + "</strong><br /> with <strong>" + jsonObj[1]["userResponse"] + "</strong>"; 
		div.appendChild(p);
		p = document.createElement("p");
		p.innerHTML = "Others responded with:";
		div.appendChild(p);
		var table = document.createElement("table");
		table.style.width = "100%";
		table.cellPadding = "3";table.cellSpacing = "3";
		var tBody = document.createElement("tbody");
		table.appendChild(tBody);
		var tr = document.createElement("tr");
		var th1 = document.createElement("th");
		th1.innerHTML = "Question";
		tr.appendChild(th1);
		var th2 = document.createElement("th");
		th2.innerHTML = "Responses";
		tr.appendChild(th2);
		var th3 = document.createElement("th");
		th3.innerHTML = "Percent";
		tr.appendChild(th3);
		tBody.appendChild(tr);
		for(var i=2;i<jsonObj.length;i++)
		{
			tr = document.createElement("tr");
			var td1 = document.createElement("td");
			td1.innerHTML = jsonObj[i]["qName"];
			tr.appendChild(td1);
			var td2 = document.createElement("td");
			td2.innerHTML = jsonObj[i]["qCount"];
			tr.appendChild(td2);
			var td3 = document.createElement("td");
			td3.innerHTML = jsonObj[i]["qPercent"] + "%";
			tr.appendChild(td3);
			tBody.appendChild(tr);	
			totalResponses = totalResponses + parseInt(jsonObj[i]["qCount"]);		
		}
		tr = document.createElement("tr");
		td = document.createElement("td");
		td.colspan = 3;td.innerHTML = '&nbsp;';
		tr.appendChild(td);
		tBody.appendChild(tr);
		tr = document.createElement("tr");
		td1 = document.createElement("th");
		td1.innerHTML = "Total Responses";
		tr.appendChild(td1);
		td2 = document.createElement("th");
		td2.innerHTML = totalResponses;
		tr.appendChild(td2);
		td3 = document.createElement("td");
		td3.innerHTML = '&nbsp';
		tr.appendChild(td3);
		tBody.appendChild(tr);
		div.appendChild(table);
		msgContent.appendChild(div);
    }
}
function ShowTodoItem(jsonObj, divMsgs)
{
    /*elements coming back in the JSON Object
        "recordcount", "msgType", "msgId", "msgName", "msgHtml", "msgDueDate", "msgAction", "msgDept"
    */               
    var msgId = jsonObj[0]["msgId"];
    var msgName = jsonObj[0]["msgName"];
    var msgHtml = jsonObj[0]["msgHtml"];
    var msgDueDate = jsonObj[0]["msgDueDate"];
    var msgAction = jsonObj[0]["msgAction"];
    var msgDept = jsonObj[0]["msgDept"];
    // build up the DOM element now
    
	divMsgs.innerHTML = '';
    var mName = document.createElement("h3");
    var mNameSpan = document.createElement("span");
    mNameSpan.appendChild(document.createTextNode("To-do: "));
    mName.appendChild(mNameSpan);
    mName.appendChild(document.createTextNode(msgName));
    $UCR(divMsgs).appendChild(mName); 
            
    var mHtml = document.createElement("p");
    var mHtmlAbbr = document.createElement("abbr");
    var mHtmlMsgHolder = document.createElement("span");
    mHtmlMsgHolder.innerHTML = msgHtml;
    mHtmlAbbr.appendChild(document.createTextNode("Description "));
    mHtml.appendChild(mHtmlAbbr);    
    mHtml.appendChild(mHtmlMsgHolder);
    $UCR(divMsgs).appendChild(mHtml);
    
    if(msgDueDate != "Hidden")
    {
	    var mDate = document.createElement("p");
	    var mDateAbbr = document.createElement("abbr");
	    
	    mDateAbbr.appendChild(document.createTextNode("Due Date "));
	    mDate.appendChild(mDateAbbr);
	    $(mDate).append(mDateAbbr).append(msgDueDate);
	    $UCR(divMsgs).appendChild(mDate);
    }
    var mDept = document.createElement("p");
    var mDeptAbbr = document.createElement("abbr");
    mDeptAbbr.appendChild(document.createTextNode("From "));
    mDept.appendChild(mDeptAbbr);
    mDept.appendChild(document.createTextNode(msgDept));
    $UCR(divMsgs).appendChild(mDept);
    
    $("#abbrActionLink").parent().remove();
	if(msgAction != "undefined")
	{
	    var mAction = document.createElement("p");
	    var mActionAbbr = document.createElement("abbr");
	    $(mActionAbbr).attr("id","abbrActionLink");
	    mActionAbbr.appendChild(document.createTextNode("Action "));
	    mAction.appendChild(mActionAbbr);
	    var mA = document.createElement("a");        
	    mA.href = msgAction;        
	    mA.innerHTML = msgAction;
	    mAction.appendChild(mA);    
	    $UCR(divMsgs).appendChild(mAction);
	}        
}