//International Studies and Programs
//Michigan State University


function description() {
	//When you copy and paste from anpther page and it contains
	//'&hellip;' and others, these will be discarded by VTCalendar.
	var text = document.getElementById('description').value;
	var text2 = "";
	for(var i=0; i < text.length; i++ ){
	
		if(text.charCodeAt(i) == 8230) {
			text2 += "...";
		} else {
			text2 += text.charAt(i)
		}
	}
	
	//alert(text2);
}

//function to create a Request
function createRequestObject()
{
	var requestObj;
	
	if(window.XMLHttpRequest) // this if for FF, Safari, Opera   - normal browsers + IE7
	{
		requestObj = new XMLHttpRequest();		
	} else if(window.ActiveXObject)   //this is for lt IE7
	{
		requestObj = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	return requestObj;
}

var req = createRequestObject();

function saveEvent(cal,eventId,rownum,sessCal)
{
	//alert("we are here:");
	
	var url = "update_changes.php";
		url = url +"?calendar="+cal;
		url = url + "&evId="+eventId;
		url = url + "&sessCal="+sessCal;
		
	req.open("GET",url,true);
	req.onreadystatechange = function () {
	
		
		if(req.readyState == 4  && req.status == 200)
		{
			var response = req.responseText;
			
			tableRow = document.getElementById("row_"+rownum);
			
			//note i think that for IE it is  setAttribute('className', ...)   //check and verify later
			
				
			if(response == "success share") 
			{
				if(tableRow.className == "shared") //then grey it
				{
					var newclass = (rownum%2) ? "even" : "odd";
					tableRow.setAttribute('class', newclass);
					tableRow.setAttribute('className', newclass); //className is for IE
					
					
				}
				else //
				{
					tableRow.setAttribute('class','shared');
					tableRow.setAttribute('className','shared');
				}			
			
			}
			else if(response == "success my event")
			{
				if(tableRow.className == "sel") //then grey it
				{
					var newclass = (rownum%2) ? "even" : "odd";
					tableRow.setAttribute('class', newclass);
					tableRow.setAttribute('className', newclass);
				}
				else //
				{
					tableRow.setAttribute('class', 'sel');
					tableRow.setAttribute('className', 'sel');
				}	
			}
			else
			{
				//alert(response);
				alert("Error sharing event");
			}		
		}
	}
		
	req.send(null);
}

//handler for the response
function getDetails(id,admin)
{

	var url = "details.php";
		url = url +"?id="+id;
		url = url + "&output=xml";

	req.open("GET",url,true);
	req.onreadystatechange = function () {
	
		
		if(req.readyState == 4  && req.status == 200)
		{
			var response = req.responseXML;
			//alert("this event : " + getNodeValue(response,'title'));
			
			//build out the view/table
			var content = buildView(response,admin,id);
			
			
			
			toggleFullDetail(id,content);
			
		}
	}
		
	req.send(null);
	
}

function buildView(eventObj,admin,id)
{


	var html = '<table class="vdetails">';
		html = html + '<tr class="hed">';
		html = html + '<td colspan="2">Event Details :'+getNodeValue(eventObj,'date')+'</td>';
		html = html +'</tr>';
		html = html +'<tr><td>&nbsp;</td></tr>';
		html = html +'<tr>';
		html = html +'<td align="right" style="padding-right:20px">';
		if(getNodeValue(eventObj,'timebegin') == "00:00" && getNodeValue(eventObj,'timeend') == "23:59") html = html +'All day event';
		else{
				if(getNodeValue(eventObj,'timebegin') != "" ) html = html + militaryToRegular(getNodeValue(eventObj,'timebegin'));
				if(getNodeValue(eventObj,'timeend') != ""  && getNodeValue(eventObj,'timeend') != "23:59" ) html = html +' to '+ militaryToRegular(getNodeValue(eventObj,'timeend'));
		}
		html = html +'</td>';
		html = html +'<td style="border-left: #666 4px solid; padding-left:30px;">';
		html = html +'<p>&nbsp;</p>';
		html = html +'<h2 style="display:inline; padding-left:5px">'+getNodeValue(eventObj,'title')+'</h2>  ('+getNodeValue(eventObj,'category')+')';
		html = html +'<p>&nbsp;</p>';
		html = html +'<p>'+getNodeValue(eventObj,'description')+'</p>';
		if(getNodeValue(eventObj,'url') != "" && getNodeValue(eventObj,'url') != "http://") html = html +'<p><a href="'+getNodeValue(eventObj,'url')+'">more information...</a></p>';
		html = html +'<p>&nbsp;</p>';
		html = html +'<table>';
		if(getNodeValue(eventObj,'location') != "") {
			html = html +'<tr>';
			html = html +'<td style="padding-left:5px"><strong>Location:</strong></td>';
			html = html +'<td>'+getNodeValue(eventObj,'location') +'</td>';
			html = html +'</tr>';
		}
		if(getNodeValue(eventObj,'price') != "") {		
			html = html +'<tr>';
			html = html +'<td style="padding-left:5px"><strong>Price:</strong></td>';
			html = html +'<td>'+getNodeValue(eventObj,'price')+'</td>';
			html = html +'</tr>';
		}
		if(getNodeValue(eventObj,'displayedsponsor') != "") {	
			html = html +'<tr>';
			html = html +'<td style="padding-left:5px"><strong>Sponsor:</strong></td>';
			if(getNodeValue(eventObj,'displayedsponsorurl') != "") {
				html = html +'<td><a href="'+getNodeValue(eventObj,'displayedsponsorurl')+'">'+getNodeValue(eventObj,'displayedsponsor')+'</a></td>';
			} else {
				html = html +'<td>'+getNodeValue(eventObj,'displayedsponsor')+'</td>';
			}
			html = html +'</tr>';
		}
		if(getNodeValue(eventObj,'contact_name') != "") {
			html = html +'<tr>';
			html = html +'<td style="padding-left:5px"><strong>Contact:</strong></td>';
			html = html +'<td>'+getNodeValue(eventObj,'contact_name') +'</td>';
			html = html +'</tr>';
		}
		if(getNodeValue(eventObj,'contact_email') != "") {
			html = html +'<tr>';
			html = html +'<td>&nbsp;</td>';
			html = html +'<td><img src="email.gif" title="Email contact" alt="Email Icon"/>'+getNodeValue(eventObj,'contact_email')+'</td>';
			html = html +'</tr>';
		}
		if(getNodeValue(eventObj,'contact_phone') != "") {
			html = html +'<tr>';
			html = html +'<td>&nbsp;</td>';
			html = html +'<td><img src="phone.gif" title="Contact phone number" alt="Phone Icon"/>'+getNodeValue(eventObj,'contact_phone')+'</td>';
			html = html +'</tr>';
		}
		html = html +'<td>&nbsp;</td>';
		html = html +'<tr>';
		html = html +'<td>&nbsp;</td>';
		html = html +'</tr>';
		/* Will come with next version
		html = html +'<tr>';
		html = html +'<td colspan="2" style="padding-left:5px"><img src="vcalendar.gif" title="Send to calendar or PDA" alt="Calendar Icon"/><a href="http://www.events.msu.edu/icalendar.php?eventid&#61;'+getNodeValue(eventObj,'eventid')+'">copy this event into your personal desktop calendar or PDA  </a></td>';
		html = html +'</tr>';
		*/
		html = html +'</table>';
		html = html +'</td>';
		html = html +'</tr>';
		html = html +'<tr>';
		html = html +'<td>&nbsp;</td>';
		html = html +'<td>&nbsp;</td>';
		html = html +'</tr>';
		html = html +'<tr>';
		if(admin == 1)
		{
			html = html + '<tr class="hed">';
			html = html + '<td align="right" colspan="2"><a href="addevent.php?eventid='+id+'">Edit/Update</a></td>';
			html = html + '</form>';
			html = html + '</tr>';
		}
		html = html +'</table>';
		
		return html;
}

function toggleFullDetail(id,content)
{
	var tdId = 'data_'+id;
	
	//alert("table "+tdId);
	
	if(document.getElementById(tdId).innerHTML == "" )
	{
		document.getElementById(tdId).innerHTML = content;
		document.getElementById(tdId).style.display = '';
	}
	else
	{
		document.getElementById(tdId).innerHTML = "";
		document.getElementById(tdId).style.display = 'none';
	}
	
}

//function to get the node values
function getNodeValue(obj,tag)
{
	if(obj.getElementsByTagName(tag)[0].firstChild)
	{
		return obj.getElementsByTagName(tag)[0].firstChild.nodeValue;
	}
	else
	{
		return "";
	}
}

//function to get attribute
function getAtrrValue(obj,tag)
{
	return obj.getAttribute(tag);
}



function getDeptUrl()
{
	var dept = document.getElementById('displayedsponsor').value;

	var url = "simpleAjax.php";
		url = url +"?deptitle="+dept;

	req.open("GET",url,true);
	req.onreadystatechange = function () {
	
		
		if(req.readyState == 4  && req.status == 200)
		{
			var response = req.responseText;
			
			document.getElementById('displayedsponsorurl').value = response;
			
		}
	}
		
	req.send(null);
	
}

function militaryToRegular(time)
{
	var hour_min = time.split(":");
	
	if (hour_min[0] == 12) { // special case: 12am, 12pm
			if(hour_min[1] == "00") return "12pm";
			else return time+"pm";			
	}
	else {
		 if((hour_min[0] > 12)){ // 13, 16 etc
			if(hour_min[1] == "00") return (hour_min[0]-12)+"pm";
			else return (hour_min[0]-12)+":"+hour_min[1]+"pm";
		 }else {// 1 , 2 8 am etc
			hour_min[0] = hour_min[0].replace("0",""); //remove leading zero
			if(hour_min[1] == "00") return hour_min[0]+"am";
			else return hour_min[0]+":"+hour_min[1]+"am";
		}
	}
			
}

//check whole day/timed event
function checktime(sender){

	var allday = document.getElementById('alldayevent');
	var tba = document.getElementById('TBA');
	var timedevent = document.getElementById('timedevent');

	if(sender.id == "timeend_hour" || sender.id == "timebegin_hour"){
		if(allday.cheked) allday.checked = false;
		if(tba.cheked) tba.checked = false;
		timedevent.checked = true;
		
	} else { //sender is allday or TBA
	
		timedevent.checked = false;
		
		//reset the other values
		document.getElementById('timebegin_hour').selectedIndex = 0;
		document.getElementById('timebegin_min').selectedIndex = 0;
		document.getElementById('timeend_hour').selectedIndex = 0;
		document.getElementById('timeend_min').selectedIndex = 0;
		document.getElementById('timebegin_ampm').selectedIndex = 0;
		document.getElementById('timeend_ampm').selectedIndex = 0;
	}
}

function othersponsor() {
	
		//new text box
		var container = document.getElementById('sponsorinfo');
		container.innerHTML = "";
		container.innerHTML = "<input type='text' name='event[displayedsponsor]' size='40' />";
		
		var url = document.getElementById('displayedsponsorurl');
		url.value = "http://";

}

//handing of frames
function frameurl() {
	alert("Frame url changed");
}

function msuimport() {
	alert("Import this event");
}